<?xml version="1.0" encoding="utf-8"?><doc><assembly>
        <name>Remotion</name>
    </assembly><members><member name="T:Remotion.DisposableExplicitBase"><summary>
            This class can be used as a base class for any class that needs to implement <see cref="T:System.IDisposable" />, but does not want to 
            expose a public <c>Dispose</c> method.
            <see cref="T:Remotion.DisposableBase" />
            </summary></member><member name="T:Remotion.DisposableBase"><summary>
            This class can be used as a base class for any class that needs to implement <see cref="T:System.IDisposable" />.
            <see cref="T:Remotion.DisposableExplicitBase" />
            </summary></member><member name="T:Remotion.DoubleCheckedLockingContainer`1"><summary>Provides a standard implementation of the double checked locking pattern.</summary></member><member name="M:Remotion.DoubleCheckedLockingContainer`1.#ctor(System.Func{`0})"><summary>Initializes a new instance of the <see cref="T:Remotion.DoubleCheckedLockingContainer`1" /> type.</summary><param name="defaultFactory">The delegate used to create the default value in case the value is <see langword="null" />.</param></member><member name="P:Remotion.DoubleCheckedLockingContainer`1.HasValue"><summary>
            Gets a value indicating whether this instance has already gotten a value.
            </summary></member><member name="P:Remotion.DoubleCheckedLockingContainer`1.Value"><summary>Gets or sets the object encapsulated by the <see cref="T:Remotion.DoubleCheckedLockingContainer`1" />.</summary></member><member name="T:Remotion.SafeContextSingleton`1"><summary>
            Provides automatic "Singleton" behavior based on the <see cref="T:Remotion.Context.SafeContext" /> class.
            </summary></member><member name="T:Remotion.BridgeImplementations.InterlockedCacheFactoryImplementation"><summary>
            The <see cref="T:Remotion.BridgeImplementations.InterlockedCacheFactoryImplementation" /> is a factory class that creates instances of type 
            <see cref="T:Remotion.Collections.InterlockedCache`2" />.
            </summary></member><member name="M:Remotion.BridgeImplementations.ParamListCreateImplementation.CreateDynamic(System.Type[],System.Object[])"><summary>
            Creates a strongly typed list of parameters to be passed to a function or action.
            </summary></member><member name="T:Remotion.BridgeImplementations.TypeDiscoveryServiceFactoryImplementation"><summary>
            The <see cref="T:Remotion.BridgeImplementations.TypeDiscoveryServiceFactoryImplementation" /> is a factory class that creates instances of type 
            <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService" />.
            </summary></member><member name="T:Remotion.Collections.ArrayComparer`1"><summary>
            Provides equality and hash codes for arrays. Use <see cref="M:Remotion.Collections.ArrayComparer`1.GetComparer" /> to get an instance.
            </summary></member><member name="T:Remotion.Collections.AutoInitDictionary`2"><summary>
              A dictionary that automatically creates new value objects when queried for a specific key.
            </summary></member><member name="T:Remotion.Collections.AutoInitHashtable"><summary>
              A hashtable that automatically creates new value objects when queried for a specific key.
            </summary></member><member name="T:Remotion.Collections.ComponentwiseEqualsAndHashcodeWrapper`1"><summary>
            Wrapper around an <see cref="T:System.Collections.Generic.IEnumerable`1" /> which supplies element-wise <see cref="M:System.Object.Equals(System.Object)" /> and
            <see cref="M:System.Object.GetHashCode" /> semantics. Use in conjunction with <see cref="T:Remotion.Collections.CompoundValueEqualityComparer`1" />
            to get value based semantics for container class members.
            </summary></member><member name="M:Remotion.Collections.ComponentwiseEqualsAndHashcodeWrapper`1.Equals(System.Object)"><summary>
            Compares the elements of the <see cref="T:Remotion.Collections.ComponentwiseEqualsAndHashcodeWrapper`1" /> for equality, if the passed <see cref="T:System.Object" /> 
            is an <see cref="T:Remotion.Collections.ComponentwiseEqualsAndHashcodeWrapper`1" /> .
            </summary></member><member name="M:Remotion.Collections.ComponentwiseEqualsAndHashcodeWrapper`1.GetHashCode"><summary>
            Returns a hash code based on the members of the <see cref="T:System.Collections.Generic.IEnumerable`1" />.
            </summary></member><member name="T:Remotion.Collections.ComponentwiseEqualsAndHashcodeWrapper"><summary>
            ComponentwiseEqualsAndHashcodeWrapper-factory: ComponentwiseEqualsAndHashcodeWrapper.New(<see cref="T:System.Collections.Generic.IEnumerable`1" />).
            </summary></member><member name="T:Remotion.Collections.CompoundValueEqualityComparer`1"><summary>
            <para>Class supplying automatic consistent <see cref="M:Remotion.Collections.CompoundValueEqualityComparer`1.Equals(`0,`0)" />, <see cref="M:Remotion.Collections.CompoundValueEqualityComparer`1.Equals(`0,System.Object)" /> and <see cref="M:Remotion.Collections.CompoundValueEqualityComparer`1.GetHashCode(`0)" /> 
            implementation for instances of its generic type parameter, using a <see cref="T:System.Func`2" /> which returns
            the instance members which shall participate in the equality/hash code calculation.
            </para>
            <para>
            Note: The implementation incurs the performance overhead of the creation of the <see cref="T:System.Object" />-arrays every time
            <see cref="M:Remotion.Collections.CompoundValueEqualityComparer`1.Equals(`0,`0)" /> and <see cref="M:Remotion.Collections.CompoundValueEqualityComparer`1.GetHashCode(`0)" /> get called. Be aware of this when using in performance critical code.
            </para>
            </summary></member><member name="M:Remotion.Collections.CompoundValueEqualityComparer`1.#ctor(System.Func{`0,System.Object[]})"><summary>
            Ctor which takes the <see cref="T:System.Func`2" /> which must return an <see cref="T:System.Object" />-array
            of the members which shall participate in the equality/hash code calculation.
            </summary><param name="relevantValueProvider"></param></member><member name="M:Remotion.Collections.CompoundValueEqualityComparer`1.Equals(`0,System.Object)"><summary>
            Standard conforming <see cref="M:System.Object.Equals(System.Object)" /> implementation comparing <typeparamref name="T" /> with an <see cref="T:System.Object" />,
            using <see cref="M:Remotion.Collections.CompoundValueEqualityComparer`1.Equals(`0,`0)" />
            </summary></member><member name="M:Remotion.Collections.CompoundValueEqualityComparer`1.Equals(`0,`0)"><summary>
            <see cref="M:System.Object.Equals(System.Object)" /> implementation comparing all <see cref="T:System.Object" />|s in the array returned by the <see cref="T:System.Func`2" />.
            </summary></member><member name="M:Remotion.Collections.CompoundValueEqualityComparer`1.GetHashCode(`0)"><summary>
            <see cref="M:Remotion.Collections.CompoundValueEqualityComparer`1.GetHashCode(`0)" /> implementation using all the <see cref="T:System.Object" />|s in the array returned by the <see cref="T:System.Func`2" />.
            </summary></member><member name="M:Remotion.Collections.CompoundValueEqualityComparer`1.GetEqualityParticipatingObjects(`0)"><summary>
            Returns the <see cref="T:System.Object" />-array of the objects participating in the equality/hash code calculation for the passed instance.
            </summary></member><member name="T:Remotion.Collections.InterlockedCache`2"><summary>
            A simple thread-safe cache.
            </summary></member><member name="T:Remotion.Collections.InterlockedDataStore`2"><summary>
            Provides a synchronization wrapper around an implementation of <see cref="T:Remotion.Collections.IDataStore`2" />.
            </summary></member><member name="M:Remotion.Collections.InterlockedDataStore`2.#ctor(Remotion.Collections.IDataStore{`0,`1})"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Collections.InterlockedDataStore`2" /> class.
            </summary><param name="innerStore">The inner store which is wrapped.</param></member><member name="M:Remotion.Collections.InterlockedDataStore`2.#ctor"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Collections.InterlockedDataStore`2" /> class wrapping a 
            <see cref="T:Remotion.Collections.SimpleDataStore`2" />.
            </summary></member><member name="M:Remotion.Collections.InterlockedDataStore`2.ContainsKey(`0)"><summary>
            Determines whether the store contains an element with the specified <paramref name="key" />.
            </summary><param name="key">The key to look up.</param></member><member name="M:Remotion.Collections.InterlockedDataStore`2.Add(`0,`1)"><summary>
            Adds a new element to the store.
            </summary><param name="key">The key of the new element.</param><param name="value">The value of the new element.</param></member><member name="M:Remotion.Collections.InterlockedDataStore`2.Remove(`0)"><summary>
            Removes the element with the specified key from the store, if any.
            </summary><param name="key">The key of the element to be removed.</param></member><member name="M:Remotion.Collections.InterlockedDataStore`2.Clear"><summary>
            Removes all elements from the store.
            </summary></member><member name="M:Remotion.Collections.InterlockedDataStore`2.GetValueOrDefault(`0)"><summary>
            Gets the value of the element with the specified key, or <typeparamref name="TValue" />'s default value if no such element exists.
            </summary><param name="key">The key to look up.</param></member><member name="M:Remotion.Collections.InterlockedDataStore`2.TryGetValue(`0,`1@)"><summary>
            Tries to get the value of the element with the specified key.
            </summary><param name="key">The key to look up.</param><param name="value">The value of the element with the specified key, or <typeparamref name="TValue" />'s default value if no such element
            exists.</param></member><member name="M:Remotion.Collections.InterlockedDataStore`2.GetOrCreateValue(`0,System.Func{`0,`1})"><summary>
            Gets the value of the element with the specified key, creating a new one if none exists.
            </summary><param name="key">The key of the element to be retrieved.</param><param name="creator">A delegate used for creating a new element if none exists.</param></member><member name="P:Remotion.Collections.InterlockedDataStore`2.Item(`0)"><summary>
            Gets or sets the <typeparamref name="TValue" /> with the specified key.
            </summary></member><member name="T:Remotion.Collections.LazyInterlockedCache`2"><summary>
            A thread-save cache with optimized interlocking behaviour. 
            </summary></member><member name="T:Remotion.Collections.ListAdapter`2"><summary>
            Implements a different version of <see cref="T:System.Collections.Generic.IList`1" /> for an object that already implements <see cref="T:System.Collections.Generic.IList`1" />. Delegates are used
            to convert items from the first to the second implementation.
            </summary></member><member name="T:Remotion.Collections.ListAdapter"><summary>
            Provides factory methods to create instances of <see cref="T:Remotion.Collections.ListAdapter`2" />.
            </summary></member><member name="T:Remotion.Collections.MultiDictionary`2"><summary>
            A dictionary that contains a <see cref="T:System.Collections.Generic.List`1" /> of values for every key.
            </summary></member><member name="M:Remotion.Collections.MultiDictionary`2.Add(`0,`1)"><summary>
            Adds a value to the key's value list.
            </summary></member><member name="T:Remotion.Collections.NameObjectCollection"><summary>
            Case-sensitive name/object dictionary.
            </summary></member><member name="M:Remotion.Collections.NameObjectCollection.Merge(Remotion.Collections.NameObjectCollection,Remotion.Collections.NameObjectCollection)"><summary>
            Merges two collections. If a key occurs in both collections, the value of the second collection is taken.
            </summary></member><member name="T:Remotion.Collections.NullCache`2"><summary>
            This class implements a cache that does not actually cache anything.
            </summary></member><member name="T:Remotion.Collections.NullDataStore`2"><summary>
            This class implements a data store that doesn't actually store anything. It's part of the null object pattern.
            </summary></member><member name="T:Remotion.Collections.ReadOnlyDictionary`2"><summary>
            Read-only wrapper around an <see cref="T:System.Collections.Generic.IDictionary`2" /> which itself explicitely implements <see cref="T:System.Collections.Generic.IDictionary`2" />.
            </summary></member><member name="T:Remotion.Collections.ReadOnlyDictionarySpecific`2"><summary>
            Read-only wrapper around a <see cref="T:System.Collections.Generic.Dictionary`2" /> which explicitely implements <see cref="T:System.Collections.Generic.IDictionary`2" />.
            </summary></member><member name="T:Remotion.Collections.Set`1"><summary>
            Implements a set collection data type.
            </summary></member><member name="M:Remotion.Collections.Set`1.#ctor"><summary>
            Initializes a new empty instance of the <see cref="T:Remotion.Collections.Set`1" /> class.
            </summary></member><member name="M:Remotion.Collections.Set`1.#ctor(System.Collections.Generic.IEnumerable{`0})"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Collections.Set`1" /> class, adding a range of initial items.
            </summary><param name="initialItems">The initial items to be held by the set. If this contains duplicates, they will be filtered out while being
            added to the set.</param></member><member name="M:Remotion.Collections.Set`1.#ctor(`0[])"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Collections.Set`1" /> class, adding a range of initial items.
            </summary><param name="initialItems">The initial items to be held by the set. If this contains duplicates, they will be filtered out while being
            added to the set.</param></member><member name="M:Remotion.Collections.Set`1.#ctor(System.Collections.Generic.IEqualityComparer{`0})"><summary>
            Initializes a new empty instance of the <see cref="T:Remotion.Collections.Set`1" /> class with a given <see cref="T:System.Collections.Generic.EqualityComparer`1" />.
            </summary><param name="equalityComparer">The comparer to be used to determine whether two items are equal to each other.</param></member><member name="M:Remotion.Collections.Set`1.#ctor(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Collections.Set`1" /> class, adding a range of initial items.
            </summary><param name="initialItems">The initial items to be held by the set. If this contains duplicates, they will be filtered out in the adding
            process.</param><param name="equalityComparer">The comparer to be used to determine whether two items are equal to each other.</param></member><member name="M:Remotion.Collections.Set`1.AddRange(System.Collections.Generic.IEnumerable{`0})"><summary>
            Adds a range of items to the set.
            </summary><param name="items">The items to be added to the set. If this contains duplicates, they will be filtered out in the adding
            process.</param></member><member name="M:Remotion.Collections.Set`1.Add(`0)"><summary>
            Adds an item to the set.
            </summary><param name="item">The item to add to the set. If the set already contains this item, the operation is ignored.</param></member><member name="M:Remotion.Collections.Set`1.Clear"><summary>
            Removes all items from the set.
            </summary></member><member name="M:Remotion.Collections.Set`1.Contains(`0)"><summary>
            Determines whether the set contains a specific value.
            </summary><param name="item">The object to locate in the set.</param></member><member name="M:Remotion.Collections.Set`1.CopyTo(`0[],System.Int32)"><summary>
            Copies the elements of the set to an <see cref="T:System.Array" /> starting at a particular <see cref="T:System.Array"></see> index.
            </summary><param name="array">The one-dimensional <see cref="T:System.Array"></see> that is the destination of the elements copied from
            the set. The <see cref="T:System.Array"></see> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in array at which copying begins.</param></member><member name="M:Remotion.Collections.Set`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)"><summary>
            Copies the elements of the <see cref="T:Remotion.Collections.Set`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
            </summary><param name="array">The one-dimensional <see cref="T:System.Array"></see> that is the destination of the elements copied.
            The <see cref="T:System.Array"></see> must have zero-based indexing. </param><param name="index">The zero-based index in array at which copying begins. </param></member><member name="M:Remotion.Collections.Set`1.ToArray"><summary>
            Returns an array holding the items currently stored in the set.
            </summary></member><member name="M:Remotion.Collections.Set`1.Remove(`0)"><summary>
            Removes the given item from the set, if it is contained.
            </summary><param name="item">The object to remove from the set.</param></member><member name="M:Remotion.Collections.Set`1.GetEnumerator"><summary>
            Returns an enumerator that iterates through the collection.
            </summary></member><member name="M:Remotion.Collections.Set`1.GetAny"><summary>
            Returns an arbitrary element contained in the set without removing it.
            </summary></member><member name="P:Remotion.Collections.Set`1.Count"><summary>
            Gets the number of elements contained in the set.
            </summary></member><member name="P:Remotion.Collections.Set`1.System#Collections#ICollection#SyncRoot"><summary>
            This method is not supported and always throws an exception.
            </summary></member><member name="P:Remotion.Collections.Set`1.System#Collections#ICollection#IsSynchronized"><summary>
            Gets a value indicating whether access to the collection is synchronized (thread safe). This always returns false.
            </summary></member><member name="T:Remotion.Collections.SetBasedCacheKey`1"><summary>
            Takes a set of objects and provides value-type semantics to the set, so that it can be used as a cache key.
            </summary></member><member name="T:Remotion.Collections.SimpleDataStore`2"><summary>
            Implements the <see cref="T:Remotion.Collections.IDataStore`2" /> interface as a simple, not thread-safe in-memory data store based on a 
            <see cref="T:System.Collections.Generic.Dictionary`2" />.
            </summary></member><member name="M:Remotion.Collections.SimpleDataStore`2.ContainsKey(`0)"><summary>
            Determines whether the store contains an element with the specified <paramref name="key" />.
            </summary><param name="key">The key to look up.</param></member><member name="M:Remotion.Collections.SimpleDataStore`2.Add(`0,`1)"><summary>
            Adds a new element to the store.
            </summary><param name="key">The key of the new element.</param><param name="value">The value of the new element.</param></member><member name="M:Remotion.Collections.SimpleDataStore`2.Remove(`0)"><summary>
            Removes the element with the specified key from the store, if any.
            </summary><param name="key">The key of the element to be removed.</param></member><member name="M:Remotion.Collections.SimpleDataStore`2.Clear"><summary>
            Removes all elements from the store.
            </summary></member><member name="M:Remotion.Collections.SimpleDataStore`2.GetValueOrDefault(`0)"><summary>
            Gets the value of the element with the specified key, or <typeparamref name="TValue" />'s default value if no such element exists.
            </summary><param name="key">The key to look up.</param></member><member name="M:Remotion.Collections.SimpleDataStore`2.TryGetValue(`0,`1@)"><summary>
            Tries to get the value of the element with the specified key.
            </summary><param name="key">The key to look up.</param><param name="value">The value of the element with the specified key, or <typeparamref name="TValue" />'s default value if no such element
            exists.</param></member><member name="M:Remotion.Collections.SimpleDataStore`2.GetOrCreateValue(`0,System.Func{`0,`1})"><summary>
            Gets the value of the element with the specified key, creating a new one if none exists.
            </summary><param name="key">The key of the element to be retrieved.</param><param name="creator">A delegate used for creating a new element if none exists.</param></member><member name="P:Remotion.Collections.SimpleDataStore`2.Item(`0)"><summary>
            Gets or sets the <typeparamref name="TValue" /> with the specified key.
            </summary></member><member name="T:Remotion.Collections.Tuple"><summary>
            Provides static methods for creating tuple objects.
            </summary></member><member name="T:Remotion.Collections.Tuple`2"><summary>
            Represents a 2-tuple, or pair.
            </summary></member><member name="T:Remotion.Collections.Tuple`3"><summary>
            Represents a 3-tuple, or triple.
            </summary></member><member name="T:Remotion.Collections.Tuple`4"><summary>
            Represents a 4-tuple, or quadruple.
            </summary></member><member name="T:Remotion.Configuration.TypeDiscovery.ByFileExcludeRootAssemblyElement"><summary>
            Configures a root assembly or a set of root assemblies to be excluded by a file name or pattern.
            </summary></member><member name="T:Remotion.Configuration.TypeDiscovery.ByFileRootAssemblyElementBase"><summary>
            Base class for classes configuring a root assembly or a set of root assemblies by a file name or pattern.
            </summary></member><member name="T:Remotion.Configuration.TypeDiscovery.ByFileIncludeRootAssemblyElement"><summary>
            Configures a root assembly or a set of root assemblies to be included by a file name or pattern.
            </summary></member><member name="T:Remotion.Configuration.TypeDiscovery.ByFileRootAssemblyElementCollection"><summary>
            Configures a set of <see cref="T:Remotion.Configuration.TypeDiscovery.ByFileRootAssemblyElementBase" /> objects.
            </summary></member><member name="T:Remotion.Configuration.TypeDiscovery.ByNameRootAssemblyElement"><summary>
            Configures a root assembly by its <see cref="T:System.Reflection.AssemblyName" />.
            </summary></member><member name="T:Remotion.Configuration.TypeDiscovery.ByNameRootAssemblyElementCollection"><summary>
            Configures a set of <see cref="T:Remotion.Configuration.TypeDiscovery.ByNameRootAssemblyElement" /> objects.
            </summary></member><member name="T:Remotion.Configuration.TypeDiscovery.RootAssembliesElement"><summary>
            Configures the root assemblies to be used for type discovery.
            </summary></member><member name="M:Remotion.Configuration.TypeDiscovery.RootAssembliesElement.CreateRootAssemblyFinder"><summary>
            Creates a <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.CompositeRootAssemblyFinder" /> representing the assembly specifications given by <see cref="P:Remotion.Configuration.TypeDiscovery.RootAssembliesElement.ByName" /> and
            <see cref="P:Remotion.Configuration.TypeDiscovery.RootAssembliesElement.ByFile" />.
            </summary></member><member name="P:Remotion.Configuration.TypeDiscovery.RootAssembliesElement.ByName"><summary>
            Gets a <see cref="T:Remotion.Configuration.TypeDiscovery.ByNameRootAssemblyElementCollection" /> allowing to specify assemblies by <see cref="T:System.Reflection.AssemblyName" />.
            </summary></member><member name="P:Remotion.Configuration.TypeDiscovery.RootAssembliesElement.ByFile"><summary>
            Gets a <see cref="T:Remotion.Configuration.TypeDiscovery.ByFileRootAssemblyElementCollection" /> allowing to specify assemblies by file name patterns.
            </summary></member><member name="T:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration"><summary>
            Configures the type discovery performed by <see cref="M:Remotion.Reflection.TypeDiscovery.ContextAwareTypeDiscoveryUtility.GetTypeDiscoveryService" />.
            </summary></member><member name="M:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.SetCurrent(Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration)"><summary>
            Sets the <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.Current" /> <see cref="T:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration" /> instance.
            </summary><param name="configuration">The new configuration to set as the <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.Current" /> configuration.</param></member><member name="M:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.#ctor"><summary>
            Initializes a new default instance of the <see cref="T:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration" /> class. To load the configuration from a config file,
            use <see cref="M:Remotion.Configuration.ConfigurationWrapper.GetSection(System.String)" /> instead.
            </summary></member><member name="M:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.CreateTypeDiscoveryService"><summary>
            Creates an <see cref="T:System.ComponentModel.Design.ITypeDiscoveryService" /> instance as indicated by <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.Mode" />.
            </summary></member><member name="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.Current"><summary>
            Gets the current <see cref="T:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration" /> instance. This is used by 
            <see cref="M:Remotion.Reflection.TypeDiscovery.ContextAwareTypeDiscoveryUtility.GetTypeDiscoveryService" /> to retrieve a <see cref="T:System.ComponentModel.Design.ITypeDiscoveryService" /> instance if
            <see cref="P:Remotion.Utilities.DesignerUtility.IsDesignMode" /> is not set to <see langword="true" /> and no specific 
            <see cref="P:Remotion.Reflection.TypeDiscovery.ContextAwareTypeDiscoveryUtility.DefaultNonDesignModeService" /> instance has been set.
            </summary></member><member name="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.Mode"><summary>
            Gets or sets the <see cref="T:Remotion.Configuration.TypeDiscovery.TypeDiscoveryMode" /> to be used for type discovery.
            </summary></member><member name="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.CustomRootAssemblyFinder"><summary>
            Gets a <see cref="T:Remotion.Configuration.TypeElement`1" /> describing the custom <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder" /> to be used. This is only relevant
            if <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.Mode" /> is set to <see cref="F:Remotion.Configuration.TypeDiscovery.TypeDiscoveryMode.CustomRootAssemblyFinder" />. In this mode, an 
            <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService" /> is created, and an instance of the specified <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.CustomRootAssemblyFinder" /> type is
            employed for finding the root assemblies used for type discovery. The given type must have a default constructor.
            </summary></member><member name="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.SpecificRootAssemblies"><summary>
            Gets a <see cref="T:Remotion.Configuration.TypeDiscovery.RootAssembliesElement" /> describing specific root assemblies to be used. This is only relevant
            if <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.Mode" /> is set to <see cref="F:Remotion.Configuration.TypeDiscovery.TypeDiscoveryMode.SpecificRootAssemblies" />. In this mode, an 
            <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService" /> is created, and the given root assemblies are employed for type discovery.
            Note that even if an assembly is specified as a root assembly, the default filtering rules (<see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter" />)
            still apply even for that assembly.
            </summary></member><member name="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.CustomTypeDiscoveryService"><summary>
            Gets a <see cref="T:Remotion.Configuration.TypeElement`1" /> describing the custom <see cref="T:System.ComponentModel.Design.ITypeDiscoveryService" /> to be used. This is only relevant
            if <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.Mode" /> is set to <see cref="F:Remotion.Configuration.TypeDiscovery.TypeDiscoveryMode.CustomTypeDiscoveryService" />. In this mode, an 
            instance of the specified <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.CustomTypeDiscoveryService" /> type is
            employed for type discovery. The given type must have a default constructor.
            </summary></member><member name="T:Remotion.Configuration.TypeDiscovery.TypeDiscoveryMode"><summary>
            Defines how type discovery should work.
            </summary></member><member name="F:Remotion.Configuration.TypeDiscovery.TypeDiscoveryMode.Automatic"><summary>
            Chooses automatic type discovery - the application's bin directory is searched for assemblies. The types are discovered from those assemblies
            and their referenced assemblies.
            </summary></member><member name="F:Remotion.Configuration.TypeDiscovery.TypeDiscoveryMode.CustomRootAssemblyFinder"><summary>
            Chooses a custom <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder" /> which searches for root assemblies. The types are discovered from those assemblies. 
            Whether types from referenced assemblies are also included is defined by the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder" />. 
            See <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.CustomRootAssemblyFinder" />.
            </summary></member><member name="F:Remotion.Configuration.TypeDiscovery.TypeDiscoveryMode.SpecificRootAssemblies"><summary>
            Chooses a number of specific root assemblies. The types are discovered from those assemblies. Whether types from referenced assemblies are 
            also included is defined by the user.
            See <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.SpecificRootAssemblies" />.
            </summary></member><member name="F:Remotion.Configuration.TypeDiscovery.TypeDiscoveryMode.CustomTypeDiscoveryService"><summary>
            Chooses a custom <see cref="T:System.ComponentModel.Design.ITypeDiscoveryService" /> implementation. The types are discovered by that service.
            See <see cref="P:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.CustomTypeDiscoveryService" />.
            </summary></member><member name="M:Remotion.Configuration.ConfigurationElementCollection`1.CreateNewElement"><summary>When overridden in a derived class, creates a new <see cref="T:System.Configuration.ConfigurationElement" />.</summary></member><member name="M:Remotion.Configuration.ConfigurationElementCollection`1.GetElementKey(System.Configuration.ConfigurationElement)"><summary>Gets the element key for a specified configuration element when overridden in a derived class.</summary><param name="element">The <see cref="T:System.Configuration.ConfigurationElement" /> to return the key for. </param></member><member name="T:Remotion.Configuration.ConfigurationWrapper"><summary>Use the <see cref="T:Remotion.Configuration.ConfigurationWrapper" /> to encapsulate the access to the configiration data.</summary></member><member name="T:Remotion.Configuration.ConfigurationWrapperFromConfigurationManager"><summary>
            Concrete implementation of <see cref="T:Remotion.Configuration.ConfigurationWrapper" /> that uses the <see cref="T:System.Configuration.ConfigurationManager" />. Create the instance by
            invoking <see cref="M:Remotion.Configuration.ConfigurationWrapper.CreateFromConfigurationManager" />.
            </summary></member><member name="T:Remotion.Configuration.ConfigurationWrapperFromConfigurationObject"><summary>
            Concrete implementation of <see cref="T:Remotion.Configuration.ConfigurationWrapper" /> that uses an instance of the <see cref="T:System.Configuration.Configuration" />
            type. Create the instance by invoking <see cref="M:Remotion.Configuration.ConfigurationWrapper.CreateFromConfigurationObject(System.Configuration.Configuration)" />.
            </summary></member><member name="T:Remotion.Configuration.ExtendedConfigurationSection"><summary>Base class for all configuration sections using the <see cref="T:Remotion.Configuration.ProviderHelperBase" /> to manage their provider sections.</summary></member><member name="T:Remotion.Configuration.ExtendedProviderBase"><summary>Base class for all providers.</summary></member><member name="M:Remotion.Configuration.ExtendedProviderBase.#ctor(System.String,System.Collections.Specialized.NameValueCollection)"><summary>Initializes a new instance of the <see cref="T:Remotion.Configuration.ExtendedProviderBase" />.</summary><param name="name">The friendly name of the provider. Must not be <see langword="null" /> or empty.</param><param name="config">
            A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.
            Must not be <see langword="null" />.
            </param></member><member name="M:Remotion.Configuration.ExtendedProviderBase.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Configuration.ExtendedProviderBase" /> class in the process of deserialization.
            </summary><param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> provided by the serialization engine.</param><param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> provided by the serialization engine.</param></member><member name="M:Remotion.Configuration.ExtendedProviderBase.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"><summary>
            Populates a <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> with the data needed to serialize the target object.
            </summary><param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> to populate with data.</param><param name="context">The destination (see <see cref="T:System.Runtime.Serialization.StreamingContext"></see>) for this serialization.</param></member><member name="T:Remotion.Configuration.ProviderCollection`1"><summary>Represents a collection of provider objects that inherit from <typeparamref name="T" />.</summary></member><member name="M:Remotion.Configuration.ProviderCollection`1.#ctor"><summary>Initializes a new instance of the <see cref="T:Remotion.Configuration.ProviderCollection`1" /> class.</summary></member><member name="M:Remotion.Configuration.ProviderCollection`1.Add(`0)"><summary>Adds a provider to the collection.</summary><param name="provider">The provider to be added.</param></member><member name="M:Remotion.Configuration.ProviderCollection`1.Add(System.Configuration.Provider.ProviderBase)"><summary>Adds a provider to the collection.</summary><param name="provider">The provider to be added.</param></member><member name="P:Remotion.Configuration.ProviderCollection`1.Item(System.String)"><summary>Gets the provider with the specified name.</summary><param name="name">The key by which the provider is identified.</param></member><member name="T:Remotion.Configuration.ProviderHelperBase"><summary>Abstract base class for <see cref="T:Remotion.Configuration.ProviderHelperBase`1" />.</summary></member><member name="M:Remotion.Configuration.ProviderHelperBase.InitializeProperties(System.Configuration.ConfigurationPropertyCollection)"><summary>Initializes properties and adds them to the given <see cref="T:System.Configuration.ConfigurationPropertyCollection" />.</summary></member><member name="T:Remotion.Configuration.ProviderHelperBase`1"><summary>Base for helper classes that load specific providers from the <see cref="T:System.Configuration.ConfigurationSection" /> section.</summary></member><member name="M:Remotion.Configuration.ProviderHelperBase`1.#ctor(Remotion.Configuration.ExtendedConfigurationSection)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Configuration.ProviderHelperBase`1" /> class. 
            </summary><param name="configurationSection">
            The <see cref="T:System.Configuration.ConfigurationSection" /> holding the <see cref="P:Remotion.Configuration.ProviderHelperBase`1.ProviderSettings" /> 
            loaded from the configuration section in the xml file
            </param></member><member name="M:Remotion.Configuration.ProviderHelperBase`1.InitializeProperties(System.Configuration.ConfigurationPropertyCollection)"><summary>Initializes properties and adds them to the given <see cref="T:System.Configuration.ConfigurationPropertyCollection" />.</summary></member><member name="M:Remotion.Configuration.ProviderHelperBase`1.InstantiateProviders(System.Configuration.ProviderSettingsCollection,System.Configuration.Provider.ProviderCollection,System.Type,System.Type[])"><summary>Initializes a collection of providers of the given type using the supplied settings.</summary><param name="providerSettingsCollection">A collection of settings to be passed to the provider upon initialization.</param><param name="providerCollection">The collection used to contain the initialized providers after the method returns.</param><param name="providerType">The <see cref="T:System.Type" /> of the providers to be initialized.</param><param name="providerInterfaces">The list of interfaces each provider must implement.</param></member><member name="M:Remotion.Configuration.ProviderHelperBase`1.InstantiateProvider(System.Configuration.ProviderSettings,System.Type,System.Type[])"><summary>Initializes and returns a single provider of the given type using the supplied settings.</summary><param name="providerSettings">The settings to be passed to the provider upon initialization.</param><param name="providerType">The <see cref="T:System.Type" /> of the providers to be initialized.</param><param name="providerInterfaces">The list of interfaces each provider must implement.</param></member><member name="P:Remotion.Configuration.ProviderHelperBase`1.Provider"><summary>Get and set the provider.</summary></member><member name="T:Remotion.Context.BootstrapStorageProvider"><summary>
            Implements <see cref="T:Remotion.Context.ISafeContextStorageProvider" /> for bootstrapping of <see cref="T:Remotion.Context.SafeContext" />. This provider should not be
            used for any other purpose because it does not store its data in a thread-local way.
            </summary></member><member name="T:Remotion.Context.CallContextStorageProvider"><summary>
            Implements <see cref="T:Remotion.Context.ISafeContextStorageProvider" /> by storing data in the thread-local <see cref="T:System.Runtime.Remoting.Messaging.CallContext" />.
            </summary></member><member name="T:Remotion.Design.DesignModeHelperBase"><summary>
            Base implementation of the <see cref="T:Remotion.Design.IDesignModeHelper" /> interface.
            </summary></member><member name="T:Remotion.Design.EnvDteDesignModeHelper"><summary>
            Implementation of the <see cref="T:Remotion.Design.IDesignModeHelper" /> interface for the <b>EnvDTE</b> (i.e. Visual Studio) designer.
            </summary></member><member name="T:Remotion.Diagnostics.IOuterProductProcessor"><summary>
            Interface to a class which can be passed to <see cref="M:Remotion.Diagnostics.OuterProductIndexGenerator.ProcessOuterProduct(Remotion.Diagnostics.IOuterProductProcessor)" />.
            <see cref="M:Remotion.Diagnostics.OuterProductIndexGenerator.ProcessOuterProduct(Remotion.Diagnostics.IOuterProductProcessor)" /> will then call its methods <see cref="M:Remotion.Diagnostics.IOuterProductProcessor.DoBeforeLoop" />
            and <see cref="M:Remotion.Diagnostics.IOuterProductProcessor.DoAfterLoop" /> before and after it starts iterating over a new outer product dimension.
            </summary></member><member name="M:Remotion.Diagnostics.IOuterProductProcessor.DoBeforeLoop"><summary>
            Processor callback invoked before a nested for loop starts.
            </summary></member><member name="M:Remotion.Diagnostics.IOuterProductProcessor.DoAfterLoop"><summary>
            Processor callback invoked after a nested for loop has finished.
            </summary></member><member name="M:Remotion.Diagnostics.IOuterProductProcessor.SetProcessingState(Remotion.Diagnostics.OuterProductProcessingState)"><summary>
            Before each callback to the processor the OuterProductIndexGenerator class sets the current <see cref="T:Remotion.Diagnostics.OuterProductProcessingState" /> through a
            call to this method. The processor class is expected to store the <see cref="T:Remotion.Diagnostics.OuterProductProcessingState" /> to be able to access
            it during the callbacks.
            </summary><param name="processingState"></param></member><member name="P:Remotion.Diagnostics.IOuterProductProcessor.ProcessingState"><summary>
            The current <see cref="T:Remotion.Diagnostics.OuterProductProcessingState" /> to be used during callbacks. Set by the OuterProductIndexGenerator class
            in call to <see cref="M:Remotion.Diagnostics.IOuterProductProcessor.SetProcessingState(Remotion.Diagnostics.OuterProductProcessingState)" />.
            </summary></member><member name="T:Remotion.Diagnostics.OuterProductIndexGenerator"><summary>
            Allows a class implementing the IOuterProductProcessor interface to visit each member of an outer product of a variable number of independently sized tuples.
            From a programmer's view the class supplies "variable number of nested for loops"-functionality.
            For convenience derive you processor class from <see cref="T:Remotion.Diagnostics.OuterProductProcessorBase" /> (see examples below).
            </summary></member><member name="M:Remotion.Diagnostics.OuterProductIndexGenerator.#ctor(System.Int32[])"><summary>
             Initializes OuterProductIndexGenerator from an integer array, where each array entry gives the number of elements along its
             corresponding dimension. In programers terms: The number of times each nested for-loop will loop.
             </summary><param name="numberElementsPerDimension">"Number of loops for each for"-loop array</param></member><member name="M:Remotion.Diagnostics.OuterProductIndexGenerator.#ctor(System.Array)"><summary>
            Initializes OuterProductIndexGenerator from a (rectangular) array. Use to iterate over a rectangular array and access
            its members with <c>rectangularArray.GetValue(ProcessingState.DimensionIndices)</c> in the
            <see cref="T:Remotion.Diagnostics.IOuterProductProcessor" /> implementation.
            </summary><param name="array">Array from whose dimensions the dimensions of the outer product will be initialized.</param></member><member name="M:Remotion.Diagnostics.OuterProductIndexGenerator.CalculateOuterProductNumberElementsOverall(System.Int32[])"><summary>
            Calcs the number of elements in an outer product. 
            </summary><param name="numberElementsPerDimension">The array giving the number of elements along each dimension of the outer product.</param></member><member name="M:Remotion.Diagnostics.OuterProductIndexGenerator.ProcessOuterProductRecursive(System.Int32,Remotion.Diagnostics.IOuterProductProcessor)"><summary>
            The recursive method which implements the variable number of for-loops together with processing callbacks to the outerProductProcessor.
            </summary><param name="dimensionIndex"></param><param name="outerProductProcessor"></param></member><member name="M:Remotion.Diagnostics.OuterProductIndexGenerator.ProcessOuterProduct(Remotion.Diagnostics.IOuterProductProcessor)"><summary>
            Call to start the processing of each OuterProductIndexGenerator-element.
            </summary><param name="outerProductProcessor">An OuterProductIndexGenerator-processor which needs to implement the IOuterProductProcessor interface.</param></member><member name="P:Remotion.Diagnostics.OuterProductIndexGenerator.NumberElementsProcessed"><summary>
            The total number of outer product elements that have been visited by the processor.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductIndexGenerator.NumberElementsPerDimension"><summary>
            The number of elements in each outer product dimension.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductIndexGenerator.NumberElementsOverall"><summary>
            The total number of elements in the outer product (= the product of all NumberElementsPerDimension entries).
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductIndexGenerator.DimensionIndices"><summary>
            The dimension indices representing the current outer product permutation.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductIndexGenerator.Length"><summary>
            The total number of combinations in the outer product.
            </summary></member><member name="T:Remotion.Diagnostics.OuterProductProcessingState"><summary>
            The current state of the outer product / nested for loops traversal.
            DimensionIndices supplies the current permutation of indices (array with an entry for each for-loop).
            DimensionIndex is the currently running for-loop; ElementIndex (=DimensionIndices[DimensionIndex]) is the value of the loop-variable of the currently running for-loop.
            IsInnermostLoop, IsOutermostLoop can be queried to treat the innermost and outermost loop differently, if so required.
            </summary></member><member name="M:Remotion.Diagnostics.OuterProductProcessingState.#ctor(Remotion.Diagnostics.OuterProductIndexGenerator,System.Int32)"><summary>
            Initializes a ProcessingState with an OuterProductIndexGenerator reference and the current dimension index 
            (= nested-for-loop loop-variable index).
            </summary></member><member name="M:Remotion.Diagnostics.OuterProductProcessingState.GetDimensionIndicesCopy"><summary>
            Returns a copy of the current <see cref="P:Remotion.Diagnostics.OuterProductProcessingState.DimensionIndices" />-array.
            Use if you want to e.g. store the generated dimension indices permutations in your own collection.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductProcessingState.DimensionIndex"><summary>
            The outer product dimension which is currently processed (i.e. the index of the currently running for-loop).
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductProcessingState.NumberElementsPerDimension"><summary>
            Integer array containing the number of elements in each outer product dimension.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductProcessingState.DimensionIndices"><summary>
            Integer array containing the current permutation of outer product indices (i.e. each array entry is the current value of each for-loop variable;
            <see cref="P:Remotion.Diagnostics.OuterProductProcessingState.ElementIndex" />).
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductProcessingState.NumberElementsOverall"><summary>
            The overall number of elements in the outer product.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductProcessingState.ElementIndex"><summary>
            ElementIndex (=DimensionIndices[DimensionIndex]) is the value of the loop-variable of the currently running for-loop.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductProcessingState.IsFirstLoopElement"><summary>
            Whether the element is the first element in the current for-loop.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductProcessingState.IsLastLoopElement"><summary>
            Whether the element is the last element in the current for-loop.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductProcessingState.IsInnermostLoop"><summary>
            Whether the current for-loop is the innermost loop.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductProcessingState.IsOutermostLoop"><summary>
            Whether the current for-loop is the outermost loop.
            </summary></member><member name="P:Remotion.Diagnostics.OuterProductProcessingState.NumberElementsProcessed"><summary>
            The overall elements of the outer product which have already been processed.
            </summary></member><member name="T:Remotion.Diagnostics.OuterProductProcessorBase"><summary>
            Convenience class to derive OuterProductIndexGenerator-processors from. Already supplies ProcessingState-functionality,
            just requiring override implementation of <see cref="M:Remotion.Diagnostics.OuterProductProcessorBase.DoBeforeLoop" /> and <see cref="M:Remotion.Diagnostics.OuterProductProcessorBase.DoAfterLoop" />.
            </summary></member><member name="M:Remotion.Diagnostics.OuterProductProcessorBase.DoBeforeLoop"><summary>
            Default implementation for the callback before a new for loop starts. Simply keeps on looping.
            Override to implement your own functionality.
            </summary></member><member name="M:Remotion.Diagnostics.OuterProductProcessorBase.DoAfterLoop"><summary>
            Default implementation for the callback after a for loop finishes. Simply keeps on looping.
            Override to implement your own functionality.
            </summary></member><member name="M:Remotion.Diagnostics.OuterProductProcessorBase.SetProcessingState(Remotion.Diagnostics.OuterProductProcessingState)"><summary>
            Internal use only: Used by OuterProductIndexGenerator class to set the current <see cref="P:Remotion.Diagnostics.OuterProductProcessorBase.ProcessingState" /> before invoking a callback.
            </summary><param name="processingState"></param></member><member name="P:Remotion.Diagnostics.OuterProductProcessorBase.ProcessingState"><summary>
            The current <see cref="P:Remotion.Diagnostics.OuterProductProcessorBase.ProcessingState" /> to be used during callbacks.
            </summary></member><member name="T:Remotion.ExtensibleEnums.Infrastructure.ExtensibleEnumDefinitionCache"><summary>
            Caches <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" /> instances for non-generic, reflective access.
            </summary></member><member name="F:Remotion.ExtensibleEnums.Infrastructure.ExtensibleEnumDefinitionCache.Instance"><summary>
            Returns the single instance of the <see cref="T:Remotion.ExtensibleEnums.Infrastructure.ExtensibleEnumDefinitionCache" /> class.
            </summary></member><member name="M:Remotion.ExtensibleEnums.Infrastructure.ExtensibleEnumDefinitionCache.GetDefinition(System.Type)"><summary>
            Gets the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" /> for the given <paramref name="extensibleEnumType" /> from the cache creating a new
            one if necessary. If a new instance is created, the <see cref="P:Remotion.ExtensibleEnums.Infrastructure.ExtensibleEnumDefinitionCache.ValueDiscoveryService" /> is used to discover the values of the enum type.
            </summary><param name="extensibleEnumType">The type of the extensible enum for which to retrieve an <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" />.</param></member><member name="P:Remotion.ExtensibleEnums.Infrastructure.ExtensibleEnumDefinitionCache.ValueDiscoveryService"><summary>
            Gets the <see cref="T:Remotion.ExtensibleEnums.Infrastructure.IExtensibleEnumValueDiscoveryService" /> used to discover values for <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" /> instances
            created by this <see cref="T:Remotion.ExtensibleEnums.Infrastructure.ExtensibleEnumDefinitionCache" />.
            </summary></member><member name="T:Remotion.ExtensibleEnums.Infrastructure.ExtensibleEnumInfoComparer`1"><summary>
            Compares two <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnumInfo" /> instances based on the <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnum.ID" /> and 
            <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.PositionalKey" />. This class is used by <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" />
            for sorting the values returned by <see cref="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.GetValueInfos" />.
            </summary></member><member name="T:Remotion.ExtensibleEnums.Infrastructure.ExtensibleEnumValueDiscoveryService"><summary>
            Implements <see cref="T:Remotion.ExtensibleEnums.Infrastructure.IExtensibleEnumValueDiscoveryService" /> by discovering and invoking extension methods defining extensible enum values
            via reflection and <see cref="T:System.ComponentModel.Design.ITypeDiscoveryService" />.
            </summary></member><member name="T:Remotion.ExtensibleEnums.Infrastructure.IExtensibleEnumValueDiscoveryService"><summary>
            Provides a common interface for the discovery of extensible enum values. This interface is used by <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" />.
            </summary></member><member name="T:Remotion.ExtensibleEnums.ExtensibleEnum`1"><summary>
            Base class for extensible enums. Create extensible enums by deriving a class representing the enumeration
            from <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnum`1" /> and define extension methods on <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" />
            to define the values of the enumeration. Each value is uniquely identified by the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" /> string
            passed to the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnum`1" /> constructor. Value comparisons act solely based on this identifier.
            </summary></member><member name="T:Remotion.ExtensibleEnums.IExtensibleEnum"><summary>
            Provides a non-generic interface for the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnum`1" /> class.
            </summary></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnum.GetEnumType"><summary>
            Gets the type of the extensible enum this value belongs to.
            </summary></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnum.GetLocalizedName"><summary>
            Gets the localized name of the value represented by this instance by using the <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.ResourceManager" /> associated
            with the declaring type of the extension method which defines the value.
            </summary></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnum.GetValueInfo"><summary>
            Gets the <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnumInfo" /> object describing the value represented by this instance.
            </summary></member><member name="P:Remotion.ExtensibleEnums.IExtensibleEnum.ID"><summary>
            Gets the identifier representing this extensible enum value. This is the combination of <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnum.DeclarationSpace" /> and 
            <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnum.ValueName" />. Use <see cref="M:Remotion.ExtensibleEnums.IExtensibleEnumDefinition.GetValueInfoByID(System.String)" /> to retrieve an <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnum" />
            value by its <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnum.ID" />.
            </summary></member><member name="P:Remotion.ExtensibleEnums.IExtensibleEnum.DeclarationSpace"><summary>
            Gets a string identifying the declaration space of the identifier of the value being created. This can be a 
            namespace, a type name, or anything else that helps in uniquely identifying the enum value. It is used as a prefix to the <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnum.ID" />
            of the value. Can be <see langword="null" />.
            </summary></member><member name="P:Remotion.ExtensibleEnums.IExtensibleEnum.ValueName"><summary>
            Gets name of this value. This is a part of the <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnum.ID" /> of this extensible enum value.
            </summary></member><member name="F:Remotion.ExtensibleEnums.ExtensibleEnum`1.Values"><summary>
            Provides access to all values of this extensible enum type.
            </summary></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.#ctor(System.String,System.String)"><summary>
            Initializes a new enumeration value with a declaration space and a value name. The actual <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" /> is formed by combining declaration
            space and value name.
            </summary><param name="declarationSpace">A string identifying the declaration space of the identifier of the value being created. This can be a 
            namespace, a type name, or anything else that helps in uniquely identifying the enum value. It is used as a prefix to the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" />
            of the value. This identifier is used for equality comparisons and hash code calculations. Can be <see langword="null" />.</param><param name="valueName">The name of the value being created. This identifier is used for equality comparisons
            and hash code calculations.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.#ctor(System.String)"><summary>
            Initializes a new enumeration value with a given <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" />.
            </summary><param name="id">The identifier of the value being created. This identifier is used for equality comparisons
            and hash code calculations.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.#ctor(System.Type,System.String)"><summary>
            Initializes a new enumeration value with a declaring type and a value name. The actual <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" /> is formed of the full name of the
            declaring type and the value name.
            </summary><param name="declaringType">The type declaring the extension method defining the enum value. This type's full name is used as a prefix of the 
            identifier of the value being created. This identifier is used for equality comparisons and hash code calculations.</param><param name="valueName">The name of the value being created. This identifier is used for equality comparisons
            and hash code calculations.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.#ctor(System.Reflection.MethodBase)"><summary>
            Initializes a new enumeration value, automatically setting its <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" /> using the extension method defining the value.
            </summary><param name="currentMethod">The extension method defining the enum value, use <see cref="M:System.Reflection.MethodBase.GetCurrentMethod" /> to retrieve the value
            to pass for this parameter. The method's full name is used as the identifier of the value being created. This identifier is used for 
            equality comparisons and hash code calculations.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.GetLocalizedName"><summary>
            Gets the localized name of the value represented by this instance by using the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.ResourceManager" /> associated
            with the declaring type of the extension method which defines the value.
            </summary></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.GetValueInfo"><summary>
            Gets the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1" /> object describing the value represented by this instance.
            </summary></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.GetEnumType"><summary>
            Gets the type of the extensible enum this value belongs to.
            </summary></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.Equals(System.Object)"><summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to this instance. Equality is
            determined by comparing the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" /> and type of the values for equality.
            </summary><param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.GetHashCode"></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.ToString"><summary>
            Returns a <see cref="T:System.String" /> that represents this <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnum`1" /> value. The string returned by this method is meant
            to be read, not parsed. Use <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" /> to get a string that can be used to get back to the actual value. Use 
            <see cref="M:Remotion.ExtensibleEnums.ExtensibleEnum`1.GetLocalizedName" /> to get a localized name of the value.
            </summary></member><member name="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID"><summary>
            Gets the full identifier representing this extensible enum value. This is the combination of <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.DeclarationSpace" /> and 
            <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ValueName" />. Use <see cref="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.GetValueInfoByID(System.String)" /> to retrieve an <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnum`1" />
            value by its <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" />.
            </summary></member><member name="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.DeclarationSpace"><summary>
            Gets a string identifying the declaration space of the identifier of the value being created. This can be a 
            namespace, a type name, or anything else that helps in uniquely identifying the enum value. It is used as a prefix to the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" />
            of the value. Can be <see langword="null" />.
            </summary></member><member name="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ValueName"><summary>
            Gets name of this value. This is a part of the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnum`1.ID" /> of this extensible enum value.
            </summary></member><member name="T:Remotion.ExtensibleEnums.ExtensibleEnumConverter"><summary>
            Provides support for converting extensible enums to and from instances of type <see cref="T:System.String" />.
            </summary></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumConverter.#ctor(System.Type)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumConverter" /> class.
            </summary><param name="extensibleEnumType">The extensible enum type to be converted from and to.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)"><summary>
            Returns whether this converter can convert an object of the given type to the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumConverter.ExtensibleEnumType" />, using the specified context. 
            This method returns <see langword="true" /> if <paramref name="sourceType" /> is <see cref="T:System.String" />; <see langword="false" /> otherwise.
            </summary><param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. Ignored by this 
            implementation.</param><param name="sourceType">A <see cref="T:System.Type" /> that represents the type you want to convert from.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)"><summary>
            Returns whether this converter can convert the object to the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumConverter.ExtensibleEnumType" />, using the specified context. This
            method returns <see langword="true" /> if <paramref name="destinationType" /> is <see cref="T:System.String" />; <see langword="false" /> otherwise.
            </summary><param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. Ignored by this 
            implementation.</param><param name="destinationType">A <see cref="T:System.Type" /> that represents the type you want to convert to.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)"><summary>
            Converts the given object to the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumConverter.ExtensibleEnumType" />, using the specified context and culture information.
            </summary><param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. Ignored by this
            implementation</param><param name="culture">The <see cref="T:System.Globalization.CultureInfo" /> to use as the current culture. Ignored by this implementation</param><param name="value">The <see cref="T:System.Object" /> to convert. Must be a <see cref="T:System.String" /> value.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)"><summary>
            Converts the given value object to the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumConverter.ExtensibleEnumType" />, using the specified context and culture information.
            </summary><param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. Ignored
            by this implementation.</param><param name="culture">A <see cref="T:System.Globalization.CultureInfo" />. If null is passed, the current culture is assumed. Ignored
            by this implementation.</param><param name="value">The <see cref="T:System.Object" /> to convert. Must be an instance of <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumConverter.ExtensibleEnumType" />.</param><param name="destinationType">The <see cref="T:System.Type" /> to convert the <paramref name="value" /> parameter to. Must be
            <see cref="T:System.String" />.</param></member><member name="P:Remotion.ExtensibleEnums.ExtensibleEnumConverter.ExtensibleEnumType"><summary>
            Gets the extensible enum type to be be converted from and to.
            </summary></member><member name="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1"><summary>
            Provides discovery services for extensible enum values. Extensible enum implementations hold
            hold an instance of this class in the <see cref="F:Remotion.ExtensibleEnums.ExtensibleEnum`1.Values" /> class which represents
            the enumeration. The values of the enumeration should be defined as extension methods for <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" />,
            where <typeparamref name="T" /> is the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnum`1" /> subclass.
            </summary></member><member name="T:Remotion.ExtensibleEnums.IExtensibleEnumDefinition"><summary>
            Provides a non-generic interface for the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" /> class.
            </summary></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnumDefinition.GetEnumType"><summary>
            Gets the extensible enum type described by this <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnumDefinition" />.
            </summary></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnumDefinition.IsDefined(System.String)"><summary>
            Determines whether the extensible enum type defines a value with the specified <paramref name="id" />.
            </summary><param name="id">The id to be retrieved.</param></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnumDefinition.IsDefined(Remotion.ExtensibleEnums.IExtensibleEnum)"><summary>
            Determines whether the given value is a valid instance of the extensible enum type described by this <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnumDefinition" />.
            This includes checking whether the value's <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnum.ID" /> is defined.
            </summary><param name="value">The value to be checked.</param></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnumDefinition.GetValueInfos"><summary>
            Gets <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnumInfo" /> objects describing the values defined by the extensible enum type.
            </summary></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnumDefinition.GetValueInfoByID(System.String)"><summary>
            Gets an <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnumInfo" /> object describing the enum value identified by <paramref name="id" />, throwing an exception if the 
            value cannot be found.
            </summary><param name="id">The identifier of the enum value to return.</param></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnumDefinition.TryGetValueInfoByID(System.String,Remotion.ExtensibleEnums.IExtensibleEnumInfo@)"><summary>
            Gets an <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnumInfo" /> object describing the enum value identified by <paramref name="id" />, returning a boolean value 
            indicating whether such a value could be found.
            </summary><param name="id">The identifier of the enum value to return.</param><param name="value">The <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnumInfo" /> describing the enum value identified by <paramref name="id" />, or 
            <see langword="null" /> if no such value exists.</param></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnumDefinition.GetCustomAttributes(System.Type)"><summary>
            Gets the custom attributes defined by the types declaring the extension methods defining the enum values.
            </summary><param name="attributeType">The attribute type to look for. Attributes inheriting from this type are also returned.</param></member><member name="M:Remotion.ExtensibleEnums.IExtensibleEnumDefinition.GetCustomAttributes``1"><summary>
            Gets the custom attributes defined by the types declaring the extension methods defining the enum values.
            </summary></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.#ctor(Remotion.ExtensibleEnums.Infrastructure.IExtensibleEnumValueDiscoveryService)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" /> class.
            </summary><param name="valueDiscoveryService">An implementation of <see cref="T:Remotion.ExtensibleEnums.Infrastructure.IExtensibleEnumValueDiscoveryService" /> used to discover the values
            for this <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1" />.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.GetEnumType"></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.IsDefined(System.String)"></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.IsDefined(Remotion.ExtensibleEnums.IExtensibleEnum)"></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.GetValueInfos"><summary>
            Gets <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1" /> objects describing the values defined by the extensible enum type.
            </summary></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.GetValueInfoByID(System.String)"><summary>
            Gets an <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1" /> object describing the enum value identified by <paramref name="id" />, throwing an exception if the 
            value cannot be found.
            </summary><param name="id">The identifier of the enum value to return.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.TryGetValueInfoByID(System.String,Remotion.ExtensibleEnums.ExtensibleEnumInfo{`0}@)"><summary>
            Gets an <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1" /> object describing the enum value identified by <paramref name="id" />, returning a boolean value 
            indicating whether such a value could be found.
            </summary><param name="id">The identifier of the enum value to return.</param><param name="value">The <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1" /> describing the enum value identified by <paramref name="id" />, or 
            <see langword="null" /> if no such value exists.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.GetCustomAttributes(System.Type)"></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumDefinition`1.GetCustomAttributes``1"></member><member name="T:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1"><summary>
            Holds information about an extensible enum value, including the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.Value" /> itself and meta-info such as the 
            <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.DefiningMethod" /> and the associated <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.ResourceManager" />.
            </summary></member><member name="T:Remotion.ExtensibleEnums.IExtensibleEnumInfo"><summary>
            Provides a non-generic interface for the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1" /> class.
            </summary></member><member name="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.Value"><summary>
            Gets the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnum`1" /> value described by this instance.
            </summary></member><member name="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.DefiningMethod"><summary>
            Gets the method defining the <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.Value" /> described by this instance.
            </summary></member><member name="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.ResourceManager"><summary>
            Gets the resource manager associated with the <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.DefiningMethod" /> of the <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.Value" /> described by this instance.
            </summary></member><member name="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.PositionalKey"><summary>
            Gets the positional key associated with the <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.Value" />. The positional key determines the position of the <see cref="P:Remotion.ExtensibleEnums.IExtensibleEnumInfo.Value" />
            in the list of all values of the extensible enum type.
            </summary></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.#ctor(`0,System.Reflection.MethodInfo,Remotion.Globalization.IResourceManager,System.Double)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1" /> class.
            </summary><param name="value">The value.</param><param name="declaringMethod">The declaring method of the value.</param><param name="resourceManager">The resource manager for the value.</param><param name="positionalKey">The positional key of the value.</param></member><member name="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.Value"><summary>
            Gets the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnum`1" /> value described by this instance.
            </summary></member><member name="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.Remotion#ExtensibleEnums#IExtensibleEnumInfo#Value"></member><member name="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.DefiningMethod"><summary>
            Gets the method defining the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.Value" /> described by this instance.
            </summary></member><member name="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.ResourceManager"><summary>
            Gets the resource manager associated with the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.DefiningMethod" /> of the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.Value" /> described by this instance.
            </summary></member><member name="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.PositionalKey"><summary>
            Gets the positional key associated with the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.Value" />. The positional key determines the position of the <see cref="P:Remotion.ExtensibleEnums.ExtensibleEnumInfo`1.Value" />
            in the list of all values of the extensible enum type.
            </summary></member><member name="T:Remotion.ExtensibleEnums.ExtensibleEnumPositionAttribute"><summary>
            Apply to an extension method defining an extensible enum value to specify the position of that value in the list of all values of that
            extensible enum type.
            </summary></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumPositionAttribute.#ctor(System.Double)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnumPositionAttribute" /> attribute.
            </summary><param name="positionalKey">The positional key to assign the extensible enum value. The default is 0.0. Values with greater keys occur
            after values with lower keys in the list of all values of the corresponding extensible enum type.</param></member><member name="P:Remotion.ExtensibleEnums.ExtensibleEnumPositionAttribute.PositionalKey"><summary>
            Gets the positional key of the extensible enum value. Values with greater keys occur
            after values with lower keys in the list of all values of the corresponding extensible enum type.
            </summary></member><member name="T:Remotion.ExtensibleEnums.ExtensibleEnumUtility"><summary>
            Provides utility functionality for extensible enums.
            </summary></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumUtility.IsExtensibleEnumType(System.Type)"><summary>
            Determines whether the specified type is an <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnum`1" /> type.
            </summary><param name="type">The type to be checked.</param></member><member name="M:Remotion.ExtensibleEnums.ExtensibleEnumUtility.GetDefinition(System.Type)"><summary>
            Gets the <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnumDefinition" /> for the given <paramref name="extensibleEnumType" />.
            </summary><param name="extensibleEnumType">The extensible enum type to get a <see cref="T:Remotion.ExtensibleEnums.IExtensibleEnumDefinition" /> for.</param></member><member name="T:Remotion.ExtensibleEnums.InvalidExtensibleEnumDefinitionException"><summary>
            Thrown when an <see cref="T:Remotion.ExtensibleEnums.ExtensibleEnum`1" /> is not defined correctly.
            </summary></member><member name="T:Remotion.FunctionalProgramming.EnumerableExtensions"><summary>
            Provides a set of <see langword="static" /> methods for querying objects that implement <see cref="T:System.Collections.Generic.IEnumerable`1" />.
            </summary></member><member name="M:Remotion.FunctionalProgramming.EnumerableExtensions.First``2(System.Collections.Generic.IEnumerable{``0},System.Func{``1})"><summary>
            Returns the first element of a sequence
            </summary><param name="source">The <see cref="T:System.Collections.Generic.IEnumerable`1" /> to return the first element of. Must not be <see langword="null" />.</param><param name="createEmptySequenceException">
            This callback is invoked if the sequence is empty. The returned exception is then thrown to indicate this error. Must not be <see langword="null" />.
            </param></member><member name="M:Remotion.FunctionalProgramming.EnumerableExtensions.First``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean},System.Func{``1})"><summary>
            Returns the first element in a sequence that satisfies a specified condition.
            </summary><param name="source">The <see cref="T:System.Collections.Generic.IEnumerable`1" /> to return an element of. Must not be <see langword="null" />.</param><param name="predicate">A function to test each element for a condition. Must not be <see langword="null" />.</param><param name="createNoMatchingElementException">
            This callback is invoked if the sequence is empty or no element satisfies the condition in <paramref name="predicate" />. 
            The returned exception is then thrown to indicate this error. Must not be <see langword="null" />.
            </param></member><member name="M:Remotion.FunctionalProgramming.EnumerableExtensions.Single``2(System.Collections.Generic.IEnumerable{``0},System.Func{``1})"><summary>
            Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence.
            </summary><param name="source">The <see cref="T:System.Collections.Generic.IEnumerable`1" /> to return the single element of. Must not be <see langword="null" />.</param><param name="createEmptySequenceException">
            This callback is invoked if the sequence is empty. 
            The returned exception is then thrown to indicate this error. Must not be <see langword="null" />.
            </param></member><member name="M:Remotion.FunctionalProgramming.EnumerableExtensions.Single``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean},System.Func{``1})"><summary>
            Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists.
            </summary><param name="source">The <see cref="T:System.Collections.Generic.IEnumerable`1" /> to return a single element of. Must not be <see langword="null" />.</param><param name="predicate">A function to test each element for a condition. Must not be <see langword="null" />.</param><param name="createNoMatchingElementException">
            This callback is invoked if the sequence is empty or no element satisfies the condition in <paramref name="predicate" />. 
            The returned exception is then thrown to indicate this error. Must not be <see langword="null" />.
            </param></member><member name="M:Remotion.FunctionalProgramming.EnumerableExtensions.CreateSequence``1(``0,System.Func{``0,``0},System.Func{``0,System.Boolean})"><summary>
            Generates a sequence of elements from the <paramref name="source" /> element by applying the specified next-element function, 
            adding elements to the sequence while the current element satisfies the specified condition.
            </summary><param name="source">The object to be transformed into a sequence.</param><param name="nextElementSelector">A function to retrieve the next element in the sequence. Must not be <see langword="null" />.</param><param name="predicate">A function to test each element for a condition. Must not be <see langword="null" />.</param></member><member name="M:Remotion.FunctionalProgramming.EnumerableExtensions.CreateSequence``1(``0,System.Func{``0,``0})"><summary>
            Generates a sequence of elements from the <paramref name="source" /> element by applying the specified next-element function, 
            adding elements to the sequence while the current element is not <see langword="null" />.
            </summary><param name="source">The object to be transformed into a sequence.</param><param name="nextElementSelector">A function to retrieve the next element in the sequence. Must not be <see langword="null" />.</param></member><member name="M:Remotion.FunctionalProgramming.EnumerableExtensions.SetEquals``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"><summary>
            Determines whether two enumerable sequences contain the same set of elements without regarding the order or number of elements.
            This method constructs a <see cref="T:System.Collections.Generic.HashSet`1" /> from <paramref name="sequence1" /> and then calls <see cref="M:System.Collections.Generic.HashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})" />.
            The <see cref="P:System.Collections.Generic.EqualityComparer`1.Default" /> equality comparer is used to check elements for equality.
            </summary><param name="sequence1">The first sequence.</param><param name="sequence2">The second sequence.</param></member><member name="T:Remotion.FunctionalProgramming.EnumerableUtility"><summary>
            Provides helper functions for <see cref="T:System.Collections.Generic.IEnumerable`1" /> objects.
            </summary></member><member name="M:Remotion.FunctionalProgramming.EnumerableUtility.Combine``1(System.Collections.Generic.IEnumerable{``0}[])"><summary>
            Combines the specified <see cref="T:System.Collections.Generic.IEnumerable`1" /> sequences into a single sequence.
            </summary><param name="sources">The source sequences to combine.</param></member><member name="M:Remotion.FunctionalProgramming.EnumerableUtility.Singleton``1(``0)"><summary>
            Creates an <see cref="T:System.Collections.Generic.IEnumerable`1" /> containing <paramref name="item" /> as its single element.
            </summary><param name="item">The object to be added to the sequence. Can be <see langword="null" />.</param></member><member name="T:Remotion.FunctionalProgramming.Maybe"><summary>
            Provides non-generic helper methods for the <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> type.
            </summary></member><member name="M:Remotion.FunctionalProgramming.Maybe.ForValue``1(``0)"><summary>
            Creates a <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instance for the given value, which can be <see langword="null" />.
            </summary><param name="valueOrNull">The value. Can be <see langword="null" />, in which case <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> is returned.</param></member><member name="M:Remotion.FunctionalProgramming.Maybe.ForValue``1(System.Nullable{``0})"><summary>
            Creates a <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instance for the given <paramref name="nullableValue" />, unwrapping a nullable value type.
            </summary><param name="nullableValue">
              The nullable value. Can be <see langword="null" />, in which case <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> is returned.
            </param></member><member name="M:Remotion.FunctionalProgramming.Maybe.ForCondition``1(System.Boolean,``0)"><summary>
            Creates a <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instance for the given value, which can be <see langword="null" />, if a boolean condition evaluates to
            <see langword="true" />. If it evaluates to <see langword="false" />, <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> is returned.
            </summary><param name="condition">The condition to check. If <see langword="false" />, <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> is returned.</param><param name="valueIfTrue">The value. Can be <see langword="null" />, in which case <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> is returned.</param></member><member name="M:Remotion.FunctionalProgramming.Maybe.ForCondition``1(System.Boolean,System.Nullable{``0})"><summary>
            Creates a <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instance for the given value, unwrapping a nullable value type, if a boolean condition evaluates to
            <see langword="true" />. If it evaluates to <see langword="false" />, <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> is returned.
            </summary><param name="condition">The condition to check. If <see langword="false" />, <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> is returned.</param><param name="nullableValueIfTrue">
              The nullable value. Can be <see langword="null" />, in which case <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> is returned.
              </param></member><member name="M:Remotion.FunctionalProgramming.Maybe.EnumerateValues``1(System.Collections.Generic.IEnumerable{Remotion.FunctionalProgramming.Maybe{``0}})"><summary>
            Enumerates the values of a number of <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instances. <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instances that have no values are ignored.
            </summary><param name="maybeValues">The maybe instances to enumerate the values of. <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instances that have no values are ignored.</param></member><member name="M:Remotion.FunctionalProgramming.Maybe.EnumerateValues``1(Remotion.FunctionalProgramming.Maybe{``0}[])"><summary>
            Enumerates the values of a number of <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instances. <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instances that have no values are ignored.
            </summary><param name="maybeValues">The maybe instances to enumerate the values of. <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instances that have no values are ignored.</param></member><member name="T:Remotion.FunctionalProgramming.Maybe`1"><summary>
            Encapsulates a value that may be <see langword="null" />, providing helpful methods to avoid <see langword="null" /> checks.
            </summary></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.#ctor(`0)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> struct.
            </summary><param name="value">
            The value. If the value is <see langword="null" />, the created instance will compare equal to <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" />.
            </param></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.ToString"><summary>
            Provides a human-readable representation of this instance.
            </summary></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.ValueOrDefault"><summary>
            Gets the value held by this instance, or the default value of <typeparamref name="T" /> if this instance does not have a value.
            </summary></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.ValueOrDefault(`0)"><summary>
            Gets the value held by this instance, or the <paramref name="defaultValue" /> if this instance does not have a value.
            </summary><param name="defaultValue">The default value returned if this instance does not have a value.</param></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.Value"><summary>
            Gets the value held by this instance. An exception is thrown if this instance does not have a value.
            </summary></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.Do(System.Action{`0})"><summary>
            Executes the specified action if this instance has a value. Otherwise, the action is not performed.
            </summary><param name="action">The action to execute.</param></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.Do(System.Action{`0},System.Action)"><summary>
            Executes the specified action if this instance has a value. Otherwise, a different action is performed.
            </summary><param name="action">The action to execute.</param><param name="otherwise">The action to execute if this instance doesn't have a value.</param></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.Otherwise(System.Action)"><summary>
            Executes the specified action if this instance doesn't have a value. If it does, the action is not performed.
            </summary><param name="action">The action to execute.</param></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.Select``1(System.Func{`0,``0})"><summary>
            Selects another value from this instance. If this instance does not have a value, the selected value is <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" />.
            Otherwise, the selected value is retrieved via a selector function.
            </summary><param name="selector">The selector function. This function is only executed if this instance has a value.</param></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.SelectMany``2(System.Func{`0,Remotion.FunctionalProgramming.Maybe{``0}},System.Func{`0,``0,``1})"><summary>
            Combines a <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> value with another <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> value, returning <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> unless both
            <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instances have a value.
            </summary><param name="otherMaybeSelector">A selector function that returns the other <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instance to combine this instance with. 
            This function is only executed if this instance has a value.</param><param name="resultSelector">A function selecting the resulting value from the value of this instance and the value of the other 
            <see cref="T:Remotion.FunctionalProgramming.Maybe`1" /> instance.</param></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.Select``1(System.Func{`0,System.Nullable{``0}})"><summary>
            Selects a nullable value from this instance. If this instance does not have a value, the selected value is <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" />.
            Otherwise, the selected value is retrieved via a selector function.
            </summary><param name="selector">The selector function. This function is only executed if this instance has a value. Its return value is unwrapped
            into the underlying type.</param></member><member name="M:Remotion.FunctionalProgramming.Maybe`1.Where(System.Func{`0,System.Boolean})"><summary>
            Checks the given predicate, returning this instance if the predicate is <see langword="true" />, or <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> if the predicate is 
            <see langword="false" />. If this instance does not have a value, <see cref="F:Remotion.FunctionalProgramming.Maybe`1.Nothing" /> is immediately returned and the predicate is not
            evaluated.
            </summary><param name="predicate">The predicate to check. This is only evaluated if this instance has a value.</param></member><member name="P:Remotion.FunctionalProgramming.Maybe`1.HasValue"><summary>
            Gets a value indicating whether this instance has a value.
            </summary></member><member name="T:Remotion.Globalization.IObjectWithResources"><summary>
              A class whose instances know where their resource container is.
            </summary></member><member name="M:Remotion.Globalization.IObjectWithResources.GetResourceManager"><summary>
              Returns an instance of <c>IResourceManager</c> for resource container of the object.
            </summary></member><member name="T:Remotion.Globalization.IResourceManager"><summary>
              An interface for defining a string resource manager.
            </summary></member><member name="M:Remotion.Globalization.IResourceManager.GetAllStrings"><summary>
              Returns all string resources inside the resource manager.
            </summary></member><member name="M:Remotion.Globalization.IResourceManager.GetAllStrings(System.String)"><summary>
              Searches for all string resources inside the resource manager whose name is prefixed 
              with a matching tag.
            </summary><param name="prefix"> The prefix all returned string resources must have. </param></member><member name="M:Remotion.Globalization.IResourceManager.GetString(System.String)"><summary>
              Gets the value of the specified String resource.
            </summary><param name="id">The ID of the resource to get. </param></member><member name="M:Remotion.Globalization.IResourceManager.GetString(System.Enum)"><summary>
              Gets the value of the specified string resource. The resource is identified by
              concatenating type and value name.
            </summary></member><member name="M:Remotion.Globalization.IResourceManager.ContainsResource(System.String)"><summary>Tests whether the <see cref="T:Remotion.Globalization.IResourceManager" /> contains the specified resource.</summary><param name="id">The ID of the resource to look for.</param></member><member name="M:Remotion.Globalization.IResourceManager.ContainsResource(System.Enum)"><summary>Tests whether the <see cref="T:Remotion.Globalization.IResourceManager" /> contains the specified resource.</summary><param name="enumValue">The ID of the resource to look for.</param></member><member name="M:Remotion.Globalization.IResourceManagerResolverUtility.GetResourceText``1(Remotion.Globalization.ResourceManagerResolver{``0},System.Type,System.String)"><summary>
              Loads a string resource for a given type, identified by ID.
            </summary><param name="resolver">The resolver to use.</param><param name="objectTypeToGetResourceFor">
              The type for which to get the resource.
            </param><param name="name"> The ID of the resource. </param></member><member name="M:Remotion.Globalization.IResourceManagerResolverUtility.ExistsResourceText``1(Remotion.Globalization.ResourceManagerResolver{``0},System.Type,System.String)"><summary>
              Checks for the existence of a string resource for the specified type, identified by ID.
            </summary><param name="resolver">The resolver to use.</param><param name="objectTypeToGetResourceFor">
              The <see cref="T:System.Type" /> for which to check the resource.
            </param><param name="name"> The ID of the resource. </param></member><member name="M:Remotion.Globalization.IResourceManagerResolverUtility.ExistsResource``1(Remotion.Globalization.ResourceManagerResolver{``0},System.Type)"><summary>
              Checks for the existence of a resource set for the specified type.
            </summary><param name="resolver">The resolver to use.</param><param name="objectTypeToGetResourceFor">
              The <see cref="T:System.Type" /> for which to check for the resource set.
            </param></member><member name="P:Remotion.Globalization.IResourcesAttribute.BaseName"><summary>
              Gets the base name of the resource container as specified by the attributes construction.
            </summary></member><member name="T:Remotion.Globalization.MultiLingualResources"><summary>
            Provides the public API for classes working with and analyzing instances of <see cref="T:Remotion.Globalization.MultiLingualResourcesAttribute" />.
            </summary></member><member name="M:Remotion.Globalization.MultiLingualResources.GetResourceManager(System.Type,System.Boolean)"><summary>
              Returns an instance of <c>IResourceManager</c> for the resource container specified
              in the class declaration of the type.
            </summary><param name="objectType">
      The type for which the resource manager is wanted.
    </param><param name="includeHierarchy">
      Include the resource managers for the base types.
    </param></member><member name="M:Remotion.Globalization.MultiLingualResources.GetResourceManager(System.Type)"><summary>
              Returns an instance of <c>IResourceManager</c> for the resource container specified
              in the class declaration of the type.
            </summary><param name="objectType">
      The type for which the resource manager is wanted.
    </param></member><member name="M:Remotion.Globalization.MultiLingualResources.GetResourceText(System.Type,System.String)"><summary>
              Loads a string resource for the specified type, identified by ID.
            </summary><param name="objectTypeToGetResourceFor">
              The <see cref="T:System.Type" /> for which to get the resource.
            </param><param name="name"> The ID of the resource. </param></member><member name="M:Remotion.Globalization.MultiLingualResources.GetResourceText(System.Object,System.String)"><summary>
              Loads a string resource for the object's type, identified by ID.
            </summary><param name="objectToGetResourceFor">
              The object for whose <see cref="T:System.Type" /> to get the resource.
            </param><param name="name"> The ID of the resource. </param></member><member name="M:Remotion.Globalization.MultiLingualResources.ExistsResourceText(System.Type,System.String)"><summary>
              Checks for the existence of a string resource for the specified type, identified by ID.
            </summary><param name="objectTypeToGetResourceFor">
              The <see cref="T:System.Type" /> for which to check the resource.
            </param><param name="name"> The ID of the resource. </param></member><member name="M:Remotion.Globalization.MultiLingualResources.ExistsResourceText(System.Object,System.String)"><summary>
              Checks for the existence of a string resource for the specified type, identified by ID.
            </summary><param name="objectToGetResourceFor">
              The object for whose <see cref="T:System.Type" /> to check the resource.
            </param><param name="name"> The ID of the resource. </param></member><member name="M:Remotion.Globalization.MultiLingualResources.ExistsResource(System.Type)"><summary>
              Checks for the existence of a resource set for the specified type.
            </summary><param name="objectTypeToGetResourceFor">
              The <see cref="T:System.Type" /> for which to check for the resource set.
            </param></member><member name="M:Remotion.Globalization.MultiLingualResources.ExistsResource(System.Object)"><summary>
              Checks for the existence of a resource set for the specified object.
            </summary><param name="objectToGetResourceFor">
              The object for whose <see cref="T:System.Type" /> to check for the resource set.
            </param></member><member name="P:Remotion.Globalization.MultiLingualResources.Resolver"><summary>
            Gets the resolver object used by the methods of this class.
            </summary></member><member name="T:Remotion.Globalization.MultiLingualResourcesAttribute"><summary>
              Attribute for specifying the resource container for a type.
            </summary></member><member name="F:Remotion.Globalization.MultiLingualResourcesAttribute._baseName"><summary> The base name of the resource container </summary></member><member name="M:Remotion.Globalization.MultiLingualResourcesAttribute.#ctor(System.String)"><summary> Initalizes an instance. </summary></member><member name="P:Remotion.Globalization.MultiLingualResourcesAttribute.BaseName"><summary>
              Gets the base name of the resource container as specified by the attributes construction.
            </summary></member><member name="T:Remotion.Globalization.NullResourceManager"><summary> A <b>Null Object</b> implementation of <see cref="T:Remotion.Globalization.IResourceManager" />. </summary></member><member name="T:Remotion.Globalization.ResourceException"><summary>
              Represents errors that occur during resource handling.
            </summary></member><member name="M:Remotion.Globalization.ResourceException.#ctor(System.String)"><summary>
              Initializes a new instance of the <see cref="T:Remotion.Globalization.ResourceException" />  class with a specified 
              error message.
            </summary><param name="message"> The error message string. </param></member><member name="M:Remotion.Globalization.ResourceException.#ctor(System.String,System.Exception)"><summary>
              Initializes a new instance of the <see cref="T:Remotion.Globalization.ResourceException" /> class with a specified 
              error message and a reference to the inner exception that is the cause of this exception.
            </summary><param name="message"> The error message string. </param><param name="innerException"> The inner exception reference. </param></member><member name="M:Remotion.Globalization.ResourceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"><summary>
              Initializes a new instance of the <see cref="T:Remotion.Globalization.ResourceException" /> class with serialized 
              data.
            </summary><param name="info"> The info parameter is a <see langword="null" />.</param><param name="context">
            The class name is a <see langword="null" /> or <see cref="P:System.Exception.HResult" /> is zero (0).
            </param></member><member name="M:Remotion.Globalization.ResourceIdentifiersAttribute.#ctor(System.Boolean)"><summary> Initializes a new instance. </summary><param name="suppressTypeName"> If true, the name of the enum type is not included in the resource identifier. Default is true. </param></member><member name="M:Remotion.Globalization.ResourceIdentifiersAttribute.#ctor"><summary> Initializes a new instance. </summary></member><member name="T:Remotion.Globalization.ResourceManagerCacheEntry"><summary>
            Holds resource manager information cached by <see cref="T:Remotion.Globalization.ResourceManagerResolver`1" />.
            </summary></member><member name="T:Remotion.Globalization.ResourceManagerFactory"><summary>
            Provides methods to create resource managers for given resource management information.
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerFactory.GetResourceManagers``1(System.Reflection.Assembly,``0[])"><summary>
              Returns an <b>ResourceManager</b> array for the resource containers specified through the 
              <paramref name="resourceAttributes" />.
            </summary><param name="assembly">
      The assembly containing the resources.
    </param><param name="resourceAttributes">
      The <see cref="T:Remotion.Globalization.MultiLingualResourcesAttribute" /> instances specifying the the resource managers.
    </param></member><member name="T:Remotion.Globalization.ResourceManagerResolver`1"><summary>
            Provides a generalized implementation of the algorithms used to translate resource attributes into <see cref="T:Remotion.Globalization.IResourceManager" /> instances.
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerResolver`1.GetResourceManager(System.Type,System.Boolean)"><summary>
              Returns an instance of <c>IResourceManager</c> for the resource container specified
              in the class declaration of the type.
            </summary><param name="objectType">
      The type for which the resource manager is wanted.
    </param><param name="includeHierarchy">
      Include the resource managers for the base types.
    </param></member><member name="M:Remotion.Globalization.ResourceManagerResolver`1.GetResourceManager(System.Type,System.Boolean,System.Type@)"><summary>
              Returns a <c>IResourceManager</c> set for the resource containers specified
              in the class declaration of the type, throwing an exception if no resources can be found.
            </summary><param name="objectType">
      The type for which the resource manager is wanted.
    </param><param name="includeHierarchy">
      Include the resource managers for the base types.
    </param><param name="definingType">
      The base type where the <c>MultiLingualResourcesAttribute</c> was defined.
    </param></member><member name="M:Remotion.Globalization.ResourceManagerResolver`1.GetResourceManagerCacheEntry(System.Type,System.Boolean)"><summary>
            Tries to get a <see cref="T:Remotion.Globalization.IResourceManager" /> for the given <paramref name="objectType" /> (see 
            <see cref="M:Remotion.Globalization.ResourceManagerResolver`1.GetResourceManager(System.Type,System.Boolean,System.Type@)" />), returning <see langword="null" /> if the type has no resources defined. 
            The <see cref="T:Remotion.Globalization.IResourceManager" /> is retrieved from the cache if possible; if not, a new <see cref="T:Remotion.Globalization.IResourceManager" /> is created and added
            to the cache.
            </summary><param name="objectType">The type to get an <see cref="T:Remotion.Globalization.IResourceManager" /> for.</param><param name="includeHierarchy">Determines whether to include all resources defined in the <paramref name="objectType" />'s hierarchy. If
            set to <see langword="false" />, only those of the first type with resources in the hierarchy are included.</param></member><member name="T:Remotion.Globalization.ResourceManagerResolverUtility"><summary>
            Encapsulates the algorithms used to access resource containers defined by resource attributes.
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerResolverUtility.GetResourceText``1(Remotion.Globalization.ResourceManagerResolver{``0},System.Type,System.String)"><summary>
              Loads a string resource for a given type, identified by ID.
            </summary><param name="resolver">The resolver to use.</param><param name="objectTypeToGetResourceFor">
              The type for which to get the resource.
            </param><param name="name"> The ID of the resource. </param></member><member name="M:Remotion.Globalization.ResourceManagerResolverUtility.ExistsResourceText``1(Remotion.Globalization.ResourceManagerResolver{``0},System.Type,System.String)"><summary>
              Checks for the existence of a string resource for the specified type, identified by ID.
            </summary><param name="resolver">The resolver to use.</param><param name="objectTypeToGetResourceFor">
              The <see cref="T:System.Type" /> for which to check the resource.
            </param><param name="name"> The ID of the resource. </param></member><member name="M:Remotion.Globalization.ResourceManagerResolverUtility.ExistsResource``1(Remotion.Globalization.ResourceManagerResolver{``0},System.Type)"><summary>
              Checks for the existence of a resource set for the specified type.
            </summary><param name="resolver">The resolver to use.</param><param name="objectTypeToGetResourceFor">
              The <see cref="T:System.Type" /> for which to check for the resource set.
            </param></member><member name="T:Remotion.Globalization.ResourceManagerSet"><summary>
              Combines one or more <see cref="T:Remotion.Globalization.IResourceManager" /> instances to a set that can be accessed using a single interface.
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerSet.#ctor(Remotion.Globalization.IResourceManager[])"><summary>
              Combines several IResourceManager instances to a single ResourceManagerSet, starting with the first entry of the first set.
            </summary><param name="resourceManagers"> The resource manager, starting with the least specific. </param></member><member name="M:Remotion.Globalization.ResourceManagerSet.GetAllStrings(System.String)"><summary>
              Searches for all string resources inside the resource manager whose name is prefixed with a matching tag.
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerSet.GetString(System.String)"><summary>
              Gets the value of the specified string resource. 
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerSet.GetString(System.Enum)"><summary>
              Gets the value of the specified string resource. 
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerSet.ContainsResource(System.String)"><summary>Tests whether the <see cref="T:Remotion.Globalization.ResourceManagerSet" /> contains the specified resource.</summary><param name="id">The ID of the resource to look for.</param></member><member name="M:Remotion.Globalization.ResourceManagerSet.ContainsResource(System.Enum)"><summary>Tests whether the <see cref="T:Remotion.Globalization.ResourceManagerSet" /> contains the specified resource.</summary><param name="enumValue">The ID of the resource to look for.</param></member><member name="T:Remotion.Globalization.ResourceManagerWrapper"><summary>
              A wrapper for the .net Framework <c>ResourceManager</c> implementation.
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerWrapper.#ctor(System.Resources.ResourceManager)"><summary>
              Constructor for wrapping multiple resource managers
            </summary><param name="resourceManager">
      The <c>ResourceManager</c> to be wrapped.
      Must not be <see langname="null" />.
    </param></member><member name="M:Remotion.Globalization.ResourceManagerWrapper.GetAllStrings"><summary>
              Returns all string resources inside the wrapped resource managers.
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerWrapper.GetAllStrings(System.String)"><summary>
              Searches for all string resources inside the resource manager whose name is prefixed 
              with a matching tag.
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerWrapper.GetString(System.Enum)"><summary>
              Gets the value of the specified string resource. 
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerWrapper.GetString(System.String)"><summary>
              Gets the value of the specified string resource. 
            </summary></member><member name="M:Remotion.Globalization.ResourceManagerWrapper.ContainsResource(System.String)"><summary>Tests whether the <see cref="T:Remotion.Globalization.ResourceManagerWrapper" /> contains the specified resource.</summary><param name="id">The ID of the resource to look for.</param></member><member name="M:Remotion.Globalization.ResourceManagerWrapper.ContainsResource(System.Enum)"><summary>Tests whether the <see cref="T:Remotion.Globalization.ResourceManagerWrapper" /> contains the specified resource.</summary><param name="enumValue">The ID of the resource to look for.</param></member><member name="M:Remotion.Globalization.ResourceManagerWrapper.GetCultureHierarchy(System.Globalization.CultureInfo)"><summary>
              Returns the culture hierarchy, starting with the most specialized culture.
            </summary><param name="mostSpecialized">
              The starting point for walking the culture tree upwards. Must not be <see langame="null" />.
            </param></member><member name="P:Remotion.Globalization.ResourceManagerWrapper.ResourceManager"><summary>
              Gets the wrapped <c>ResourceManager</c> instance. 
            </summary></member><member name="P:Remotion.Globalization.ResourceManagerWrapper.Remotion#Globalization#IResourceManager#Name"><summary>
              Gets the root names of the resource files that the <c>IResourceManager</c>
              searches for resources. Multiple roots are separated by a comma.
            </summary></member><member name="M:Remotion.Logging.BridgeImplementations.LogManagerImplementation.GetLogger(System.String)"><summary>
            Gets or creates a logger.
            </summary><param name="name">The name of the logger to retrieve.</param></member><member name="M:Remotion.Logging.BridgeImplementations.LogManagerImplementation.GetLogger(System.Type)"><summary>
            Gets or creates a logger.
            </summary><param name="type">The full name of <paramref name="type" /> will be used as the name of the logger to retrieve.</param></member><member name="M:Remotion.Logging.BridgeImplementations.LogManagerImplementation.Initialize"><summary>
            Initializes the current logging framework.
            </summary></member><member name="M:Remotion.Logging.BridgeImplementations.LogManagerImplementation.InitializeConsole"><summary>
            Initializes the current logging framework to log to the console.
            </summary></member><member name="T:Remotion.Logging.Log4NetLog"><summary>
            Implementation of interface <see cref="T:Remotion.Logging.ILog" /> for <b>log4net</b>.
            </summary></member><member name="M:Remotion.Logging.Log4NetLog.Convert(Remotion.Logging.LogLevel)"><summary>
            Converts <see cref="T:Remotion.Logging.LogLevel" /> to <see cref="T:log4net.Core.Level" />.
            </summary><param name="logLevel">The <see cref="T:Remotion.Logging.LogLevel" /> to be converted.</param></member><member name="M:Remotion.Logging.Log4NetLog.#ctor(log4net.Core.ILogger)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Logging.Log4NetLog" /> class 
            using the specified <see cref="T:log4net.Core.ILogger" />.
            </summary><param name="logger">The <see cref="T:log4net.Core.ILogger" /> the log messages are written to.</param></member><member name="M:Remotion.Logging.Log4NetLog.Log(Remotion.Logging.LogLevel,System.Int32,System.Object,System.Exception)"></member><member name="M:Remotion.Logging.Log4NetLog.Log(Remotion.Logging.LogLevel,System.Int32,System.Object)"></member><member name="M:Remotion.Logging.Log4NetLog.Log(Remotion.Logging.LogLevel,System.Object,System.Exception)"></member><member name="M:Remotion.Logging.Log4NetLog.Log(Remotion.Logging.LogLevel,System.Object)"></member><member name="M:Remotion.Logging.Log4NetLog.LogFormat(Remotion.Logging.LogLevel,System.Int32,System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.LogFormat(Remotion.Logging.LogLevel,System.Int32,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.LogFormat(Remotion.Logging.LogLevel,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.LogFormat(Remotion.Logging.LogLevel,System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.LogFormat(Remotion.Logging.LogLevel,System.Enum,System.Exception,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.LogFormat(Remotion.Logging.LogLevel,System.Enum,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.Debug(System.Int32,System.Object,System.Exception)"></member><member name="M:Remotion.Logging.Log4NetLog.Debug(System.Int32,System.Object)"></member><member name="M:Remotion.Logging.Log4NetLog.DebugFormat(System.Int32,System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.DebugFormat(System.Int32,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.DebugFormat(System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.DebugFormat(System.Enum,System.Exception,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.DebugFormat(System.Enum,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.Info(System.Int32,System.Object,System.Exception)"></member><member name="M:Remotion.Logging.Log4NetLog.Info(System.Int32,System.Object)"></member><member name="M:Remotion.Logging.Log4NetLog.InfoFormat(System.Int32,System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.InfoFormat(System.Int32,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.InfoFormat(System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.InfoFormat(System.Enum,System.Exception,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.InfoFormat(System.Enum,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.Warn(System.Int32,System.Object,System.Exception)"></member><member name="M:Remotion.Logging.Log4NetLog.Warn(System.Int32,System.Object)"></member><member name="M:Remotion.Logging.Log4NetLog.WarnFormat(System.Int32,System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.WarnFormat(System.Int32,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.WarnFormat(System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.WarnFormat(System.Enum,System.Exception,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.WarnFormat(System.Enum,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.Error(System.Int32,System.Object,System.Exception)"></member><member name="M:Remotion.Logging.Log4NetLog.Error(System.Int32,System.Object)"></member><member name="M:Remotion.Logging.Log4NetLog.ErrorFormat(System.Int32,System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.ErrorFormat(System.Int32,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.ErrorFormat(System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.ErrorFormat(System.Enum,System.Exception,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.ErrorFormat(System.Enum,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.Fatal(System.Int32,System.Object,System.Exception)"></member><member name="M:Remotion.Logging.Log4NetLog.Fatal(System.Int32,System.Object)"></member><member name="M:Remotion.Logging.Log4NetLog.FatalFormat(System.Int32,System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.FatalFormat(System.Int32,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.FatalFormat(System.Exception,System.String,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.FatalFormat(System.Enum,System.Exception,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.FatalFormat(System.Enum,System.Object[])"></member><member name="M:Remotion.Logging.Log4NetLog.IsEnabled(Remotion.Logging.LogLevel)"></member><member name="T:Remotion.Logging.Log4NetLogManager"><summary>
            Implementation of <see cref="T:Remotion.Logging.ILogManager" /> for <b>log4net</b>.
            </summary></member><member name="M:Remotion.Logging.Log4NetLogManager.GetLogger(System.String)"><summary>
            Creates a new instance of the <see cref="T:Remotion.Logging.Log4NetLog" /> type.
            </summary><param name="name">The name of the logger to retrieve. Must not be <see langword="null" /> or empty.</param></member><member name="M:Remotion.Logging.Log4NetLogManager.GetLogger(System.Type)"><summary>
            Creates a new instance of the <see cref="T:Remotion.Logging.Log4NetLog" /> type.
            </summary><param name="type">The full name of <paramref name="type" /> will be used as the name of the logger to retrieve. Must not be <see langword="null" />.</param></member><member name="M:Remotion.Logging.Log4NetLogManager.Initialize"><summary>
            Initializes <b>log4net</b> by invoking <see cref="M:log4net.Config.XmlConfigurator.Configure" />.
            </summary></member><member name="T:Remotion.Logging.Log4NetTraceListener"><summary>
            A <see cref="T:System.Diagnostics.TraceListener" /> that directs tracing or debugging output to <b>log4net</b>.
            </summary></member><member name="M:Remotion.Logging.Log4NetTraceListener.Convert(System.Diagnostics.TraceEventType)"><summary>
            Converts <see cref="T:System.Diagnostics.TraceEventType" /> to <see cref="T:Remotion.Logging.LogLevel" />.
            </summary><param name="eventType">The <see cref="T:System.Diagnostics.TraceEventType" /> to be converted.</param></member><member name="M:Remotion.Logging.Log4NetTraceListener.#ctor"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Logging.Log4NetTraceListener" /> class. 
            </summary></member><member name="M:Remotion.Logging.Log4NetTraceListener.#ctor(System.String)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Logging.Log4NetTraceListener" /> class using the specified name. 
            </summary><param name="name">
      The name of the <see cref="T:Remotion.Logging.Log4NetTraceListener" />.
    </param></member><member name="M:Remotion.Logging.Log4NetTraceListener.Write(System.String)"><summary>
            Writes a message to the <b>log4net</b> log. 
            </summary><param name="message">A message to write.</param></member><member name="M:Remotion.Logging.Log4NetTraceListener.WriteLine(System.String)"><summary>
            Writes a message to the <b>log4net</b> log. 
            </summary><param name="message">A message to write.</param></member><member name="M:Remotion.Logging.Log4NetTraceListener.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32)"><summary>
            Writes trace and event information to the <b>log4net</b> log.
            </summary><param name="eventCache">A <see cref="T:System.Diagnostics.TraceEventCache" /> object that contains the current process ID, thread ID, and stack trace information.</param><param name="source">A name used to identify the output, typically the name of the application that generated the trace event.</param><param name="eventType">One of the <see cref="T:System.Diagnostics.TraceEventType" /> values specifying the type of event that has caused the trace.</param><param name="id">A numeric identifier for the event.</param></member><member name="M:Remotion.Logging.Log4NetTraceListener.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.String)"><summary>
            Writes trace information, a message, and event information to the <b>log4net</b> log.
            </summary><param name="eventCache">A <see cref="T:System.Diagnostics.TraceEventCache" /> object that contains the current process ID, thread ID, and stack trace information.</param><param name="source">A name used to identify the output, typically the name of the application that generated the trace event.</param><param name="eventType">One of the <see cref="T:System.Diagnostics.TraceEventType" /> values specifying the type of event that has caused the trace.</param><param name="id">A numeric identifier for the event.</param><param name="message">A message to write.</param></member><member name="M:Remotion.Logging.Log4NetTraceListener.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.String,System.Object[])"><summary>
            Writes trace information, a formatted array of objects and event information to the <b>log4net</b> log.
            </summary><param name="eventCache">A <see cref="T:System.Diagnostics.TraceEventCache" /> object that contains the current process ID, thread ID, and stack trace information.</param><param name="source">A name used to identify the output, typically the name of the application that generated the trace event.</param><param name="eventType">One of the <see cref="T:System.Diagnostics.TraceEventType" /> values specifying the type of event that has caused the trace.</param><param name="id">A numeric identifier for the event.</param><param name="format">A format string that contains zero or more format items, which correspond to objects in the args array.</param><param name="args">An object array containing zero or more objects to format.</param></member><member name="M:Remotion.Logging.Log4NetTraceListener.TraceData(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.Object)"><summary>
            Writes trace information, a data object and event information to the <b>log4net</b> log.
            </summary><param name="eventCache">A <see cref="T:System.Diagnostics.TraceEventCache" /> object that contains the current process ID, thread ID, and stack trace information.</param><param name="source">A name used to identify the output, typically the name of the application that generated the trace event.</param><param name="eventType">One of the <see cref="T:System.Diagnostics.TraceEventType" /> values specifying the type of event that has caused the trace.</param><param name="id">A numeric identifier for the event.</param><param name="data">The trace data to emit.</param></member><member name="M:Remotion.Logging.Log4NetTraceListener.TraceData(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.Object[])"><summary>
            Writes trace information, an array of data objects and event information to the <b>log4net</b> log.
            </summary><param name="eventCache">A <see cref="T:System.Diagnostics.TraceEventCache" /> object that contains the current process ID, thread ID, and stack trace information.</param><param name="source">A name used to identify the output, typically the name of the application that generated the trace event.</param><param name="eventType">One of the <see cref="T:System.Diagnostics.TraceEventType" /> values specifying the type of event that has caused the trace.</param><param name="id">A numeric identifier for the event.</param><param name="data">An array of objects to emit as data.</param></member><member name="M:Remotion.Logging.Log4NetTraceListener.TraceTransfer(System.Diagnostics.TraceEventCache,System.String,System.Int32,System.String,System.Guid)"><summary>
            Writes trace information, a message, a related activity identity and event information to the <b>log4net</b> log.
            </summary><param name="eventCache">A <see cref="T:System.Diagnostics.TraceEventCache" /> object that contains the current process ID, thread ID, and stack trace information.</param><param name="source">A name used to identify the output, typically the name of the application that generated the trace event.</param><param name="id">A numeric identifier for the event.</param><param name="message">A message to write.</param><param name="relatedActivityId">A <see cref="T:System.Guid" /> object identifying a related activity.</param></member><member name="T:Remotion.Logging.LogExtensions"><summary>
            Provides extension methods used for logging.
            </summary></member><member name="M:Remotion.Logging.LogExtensions.LogAndReturn``1(``0,Remotion.Logging.ILog,Remotion.Logging.LogLevel,System.Func{``0,System.String})"><summary>
            Logs the given value and returns it to the caller. This is typically used to log a value returned by a method directly in the return 
            statement.
            </summary><param name="value">The value to be logged.</param><param name="log">The <see cref="T:Remotion.Logging.ILog" /> to log the value with.</param><param name="logLevel">The <see cref="T:Remotion.Logging.LogLevel" /> to log the value at. If the <paramref name="log" /> does not support this level, the 
            <paramref name="messageCreator" /> is not called.</param><param name="messageCreator">A function object building the message to be logged.</param></member><member name="T:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.DebuggerBrowsableAttributeGenerator"><summary>
            Generates the <see cref="T:System.Diagnostics.DebuggerBrowsableAttribute" /> on the given emitted members, this hiding them from the debugger.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.DebuggerDisplayAttributeGenerator"><summary>
            Generates the <see cref="T:System.Diagnostics.DebuggerDisplayAttribute" /> on the given emitted members or classes.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.ImplementedInterfaceFinder"><summary>
            Finds the interfaces to be implemented by the generated type.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.InitializationCodeGenerator"><summary>
            Generates the initialization code used to initialize a concrete mixed type and its mixins.
            </summary></member><member name="M:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.InitializationCodeGenerator.GetInitializationStatement"><summary>
            Gets a <see cref="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.Statement" /> that causes the mixin to initialize itself. This effectively calls the 
            <see cref="M:Remotion.Mixins.CodeGeneration.DynamicProxy.IInitializableMixinTarget.Initialize" /> method added by <see cref="M:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.InitializationCodeGenerator.ImplementIInitializableMixinTarget(Remotion.Reflection.CodeGeneration.IClassEmitter,Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference)" />.
            </summary></member><member name="M:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.InitializationCodeGenerator.ImplementIInitializableMixinTarget(Remotion.Reflection.CodeGeneration.IClassEmitter,Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference)"><summary>
            Implements the <see cref="T:Remotion.Mixins.CodeGeneration.DynamicProxy.IInitializableMixinTarget" /> interface on the given <paramref name="classEmitter" />.
            </summary><param name="classEmitter">The class emitter to generate <see cref="T:Remotion.Mixins.CodeGeneration.DynamicProxy.IInitializableMixinTarget" /> on.</param><param name="mixinArrayInitializerField">The field holding the <see cref="T:Remotion.Mixins.CodeGeneration.MixinArrayInitializer" /> used to initialize the mixins.</param></member><member name="T:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.IntroducedMemberAttributeGenerator"><summary>
            Generates the <see cref="T:Remotion.Mixins.CodeGeneration.IntroducedMemberAttribute" /> on introduced members.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.MixinTargetCodeGenerator"><summary>
            Generates code needed to implement <see cref="T:Remotion.Mixins.IMixinTarget" /> on concrete mixed types.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.OverrideInterfaceImplementer"><summary>
            When a concrete mixed type is generated, this class implements the override interfaces of the mixins applied to the target class.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGeneration.TypeInitializerCodeGenerator"><summary>
            Generates code required to implement a type initializer on a concrete mixed type.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.DynamicProxy.IInitializableMixinTarget"><summary>
            This interface is dynamically added to concrete mixed types generated by <see cref="T:Remotion.Mixins.CodeGeneration.DynamicProxy.TypeGenerator" />. It is used to initialize a mixin
            after its construction or deserialization.
            </summary></member><member name="T:Remotion.Mixins.IMixinTarget"><summary>
            This interface is implicitly implemented by all mixed types and objects returned by <see cref="T:Remotion.Mixins.TypeFactory" /> and <see cref="T:Remotion.Mixins.ObjectFactory" />.
            </summary></member><member name="P:Remotion.Mixins.IMixinTarget.ClassContext"><summary>
            Gets the mixin target's configuration data.
            </summary></member><member name="P:Remotion.Mixins.IMixinTarget.Mixins"><summary>
            Gets the mixins associated with the mixed object.
            </summary></member><member name="P:Remotion.Mixins.IMixinTarget.FirstBaseCallProxy"><summary>
            Gets the first base call proxy.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.DynamicProxy.OverrideInterfaceMappingAttribute"><summary>
            Defines a mapping between an overridden mixin member and the member in the mixin's override interface. The attribute is applied to the members
            of the interface so that the mixin member can be determined when needed.
            </summary></member><member name="T:Remotion.Reflection.CodeGeneration.MethodReferencingAttribute"><summary>
            Defines a base class for attributes that reference a method by declaring type, name, and signature. Cannot be used to reference a closed
            generic method.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.Serialization.AttributeConcreteMixinTypeIdentifierDeserializer"><summary>
            Serializes instances of <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" /> into a format that can be used as a custom attribute parameter.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.Serialization.AttributeConcreteMixinTypeIdentifierSerializer"><summary>
            Deserializes instances of <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" /> serialized with <see cref="T:Remotion.Mixins.CodeGeneration.Serialization.AttributeConcreteMixinTypeIdentifierSerializer" />.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.Serialization.SerializationInfoConcreteMixinTypeIdentifierDeserializer"><summary>
            Deserializes instances of <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" /> serialized with 
            <see cref="T:Remotion.Mixins.CodeGeneration.Serialization.SerializationInfoConcreteMixinTypeIdentifierSerializer" />.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.Serialization.SerializationInfoConcreteMixinTypeIdentifierSerializer"><summary>
            Serializes instances of <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" /> into a <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object. The serialization is
            completely flat, using only primitive types, so the returned object is always guaranteed to be complete even in the face of the order of 
            deserialization of objects not being deterministic.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.IConcreteTypeMetadataImporter"><summary>
            Assists in importing pre-generated concrete mixed and mixin types by analyzing the types and returning the respective metadata they were
            generated for.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.CodeGenerationCache"><summary>
            Implements caching of the types generated by <see cref="T:Remotion.Mixins.CodeGeneration.IModuleManager" /> instances, triggered by <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder" />.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.ConcreteMixedTypeAttribute"><summary>
            Applied to concrete mixed types generated by the mixin engine.
            </summary></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteMixedTypeAttribute.FromClassContext(Remotion.Mixins.Context.ClassContext,System.Type[])"><summary>
            Creates a <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixedTypeAttribute" /> from a given <see cref="T:Remotion.Mixins.Context.ClassContext" />.
            </summary><param name="context">The class context describing the concrete mixed type.</param><param name="orderedMixinTypes">The types of the mixins applied to the target class of this attribute in the same order that was used for the 
            code generation. The mixin types directly match the mixin types defined by <see cref="P:Remotion.Mixins.Definitions.TargetClassDefinition.Mixins" />.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteMixedTypeAttribute.#ctor(System.Object[],System.Type[])"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixedTypeAttribute" /> class.
            </summary><param name="classContextData">The serialized class context data, produced by <see cref="T:Remotion.Mixins.Context.Serialization.AttributeClassContextSerializer" />.</param><param name="orderedMixinTypes">The types of the mixins applied to the target class of this attribute in the same order that was used for the 
            code generation. The mixin types directly match the mixin types defined by <see cref="P:Remotion.Mixins.Definitions.TargetClassDefinition.Mixins" />.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteMixedTypeAttribute.GetClassContext"><summary>
            Gets the class context describing the target type of this attribute.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.ConcreteMixedTypeAttribute.ClassContextData"><summary>
            Gets the serialized class context data, readable by <see cref="T:Remotion.Mixins.Context.Serialization.AttributeClassContextDeserializer" />. Use <see cref="M:Remotion.Mixins.CodeGeneration.ConcreteMixedTypeAttribute.GetClassContext" /> to
            deserialize this.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.ConcreteMixedTypeAttribute.OrderedMixinTypes"><summary>
            Gets the types of the mixins applied to the target class of this attribute in the same order that was used for the code generation. The mixin
            types reflected by this property directly match the mixin types defined by <see cref="P:Remotion.Mixins.Definitions.TargetClassDefinition.Mixins" />.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.ConcreteMixinType"><summary>
            Holds the results of mixin code generation when a concrete mixin type was generated.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeAttribute"><summary>
            This attribute is applied to concrete derived mixin types generated by the mixin engine.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier"><summary>
            Holds all information necessary to identify a concrete mixin type generated by <see cref="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.GetConcreteMixinType(Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier)" />.
            </summary></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier.Deserialize(Remotion.Mixins.CodeGeneration.Serialization.IConcreteMixinTypeIdentifierDeserializer)"><summary>
            Deserializes an <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" /> from the given deserializer.
            </summary><param name="deserializer">The deserializer to use.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier.#ctor(System.Type,System.Collections.Generic.HashSet{System.Reflection.MethodInfo},System.Collections.Generic.HashSet{System.Reflection.MethodInfo})"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" /> class.
            </summary><param name="mixinType">The mixin type for which a concrete type was generated.</param><param name="overriders">Mixin methods that override methods of the target class.</param><param name="overridden">Mixin methods that are overridden by the target class.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier.Equals(System.Object)"><summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to this <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" />. Checks all 
            properties for equality, ignoring the order of the items in the <see cref="T:System.Reflection.MethodInfo" /> sets.
            </summary><param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" />.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier.GetHashCode"><summary>
            Serves as a hash function for this <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" />, matching the <see cref="M:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier.Equals(System.Object)" /> implementation.
            </summary></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier.Serialize(Remotion.Mixins.CodeGeneration.Serialization.IConcreteMixinTypeIdentifierSerializer)"><summary>
            Serializes this object with the specified serializer.
            </summary><param name="serializer">The serializer to use.</param></member><member name="P:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier.MixinType"><summary>
            Gets the mixin type for which a concrete type was generated.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier.Overriders"><summary>
            Gets mixin methods that override methods of the target class. These are called by the mixin's target classes and may require public wrappers
            in the concrete mixin type.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier.Overridden"><summary>
            Gets the mixin methods that are overridden by the target class. These are overridden in the concrete mixin type and call back to the target
            classes.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder"><summary>
            Provides a way to build concrete types for target and mixin classes in mixin configurations and maintains a cache for built types.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.IConcreteTypeBuilder"><summary>
            Provides a common interface for classes used to get concrete types for the mixin configuration.
            </summary></member><member name="M:Remotion.Mixins.CodeGeneration.IConcreteTypeBuilder.GetConcreteType(Remotion.Mixins.Context.ClassContext)"><summary>
            Gets a concrete mixed type for the given target class configuration.
            </summary><param name="classContext">The <see cref="T:Remotion.Mixins.Context.ClassContext" /> holding the mixin configuration for the target class.</param></member><member name="M:Remotion.Mixins.CodeGeneration.IConcreteTypeBuilder.GetConcreteMixinType(Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier)"><summary>
            Gets a concrete mixin type for the given mixin configuration.
            </summary><param name="concreteMixinTypeIdentifier">The <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" /> defining the mixin type to get.</param></member><member name="M:Remotion.Mixins.CodeGeneration.IConcreteTypeBuilder.SaveAndResetDynamicScope"><summary>
            Saves the assemblies generated by this <see cref="T:Remotion.Mixins.CodeGeneration.IConcreteTypeBuilder" /> to disk and resets the builder, so that it can continue to generate 
            types. 
            </summary></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.LockAndAccessScope(System.Action{Remotion.Mixins.CodeGeneration.IModuleManager})"><summary>
            Provides thread-safe access to the module scope of <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder" />, see also <see cref="P:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.Scope" />.
            </summary><param name="scopeAccessor">A delegate accessing the scope while access to it is locked.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.GetConcreteType(Remotion.Mixins.Context.ClassContext)"><summary>
            Gets the concrete mixed type for the given target class configuration either from the cache or by generating it.
            </summary><param name="classContext">The <see cref="T:Remotion.Mixins.Context.ClassContext" /> holding the mixin configuration for the target class.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.GetConstructorLookupInfo(Remotion.Mixins.Context.ClassContext,System.Boolean)"><summary>
            Gets an <see cref="T:Remotion.Reflection.IConstructorLookupInfo" /> object that can be used to construct the concrete mixed type for the given target class
            configuration either from the cache or by generating it.
            </summary><param name="classContext">The <see cref="T:Remotion.Mixins.Context.ClassContext" /> holding the mixin configuration for the target class.</param><param name="allowNonPublic">If set to <see langword="true" />, the result object supports calling non-public constructors. Otherwise,
            only public constructors are allowed.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.GetConcreteMixinType(Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier)"><summary>
            Gets the concrete type for the given mixin class configuration either from the cache or by generating it.
            </summary><param name="concreteMixinTypeIdentifier">The <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteMixinTypeIdentifier" /> defining the mixin type to get.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.SaveAndResetDynamicScope"><summary>
            Saves the dynamic <see cref="P:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.Scope" /> of this builder to disk and resets it, so that the builder can continue to generate types. Use
            the <see cref="P:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.Scope">Scope's</see> properties via <see cref="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.LockAndAccessScope(System.Action{Remotion.Mixins.CodeGeneration.IModuleManager})" /> to configure the name and paths of the modules being
            saved.
            </summary></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.LoadAssemblyIntoCache(System.Reflection.Assembly)"><summary>
            Loads an assembly with the given name and adds its mixed types to this builder's cache.
            </summary><param name="assembly">The assembly whose public types to load into the cache.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.LoadAssemblyIntoCache(System.Runtime.InteropServices._Assembly)"><summary>
            Loads an assembly with the given name and adds its mixed types to this builder's cache.
            </summary><param name="assembly">The assembly whose public types to load into the cache.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.InitializeUnconstructedInstance(Remotion.Mixins.IMixinTarget)"><summary>
            Initializes a mixin target instance which was created without its constructor having been called.
            </summary><param name="mixinTarget">The mixin target to initialize.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.BeginDeserialization(System.Func{System.Type,System.Type},System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"><summary>
            Begins deserialization of a mixed object.
            </summary><param name="typeTransformer">A transformation object that is given a chance to modify the deserialized type before it is instantiated.</param><param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object provided by the .NET serialization infrastructure.</param><param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> object provided by the .NET serialization infrastructure.</param></member><member name="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.FinishDeserialization(System.Runtime.Serialization.IObjectReference)"><summary>
            Finishes a deserialization process started by <see cref="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.BeginDeserialization(System.Func{System.Type,System.Type},System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)" />.
            </summary><param name="objectReference">The object returned from <see cref="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.BeginDeserialization(System.Func{System.Type,System.Type},System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)" />.</param></member><member name="P:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.Cache"><summary>
            Gets the cache used to cache types generated by this <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder" />.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.Scope"><summary>
            Gets or sets the module scope of this <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder" />. The object returned by this property must not be used by multiple
            threads at the same time (or while another thread executes methods on <see cref="T:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder" />). Use the
            <see cref="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.LockAndAccessScope(System.Action{Remotion.Mixins.CodeGeneration.IModuleManager})" /> method to access the scope in a thread-safe way.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.TypeNameProvider"><summary>
            Gets or sets the name provider used when generating a concrete mixed type.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.MixinTypeNameProvider"><summary>
            Gets or sets the name provider used when generating a concrete mixin type.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.GuidNameProvider"><summary>
            Returns names for concrete mixed or mixin types by extending the type name of the target or mixin class with a <see cref="T:System.Guid" />. That way,
            unique names are generated.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.IConcreteMixedTypeNameProvider"><summary>
            Defines an interface for classes providing a mechanism to retrieve a name for a generated concrete mixed type.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.IConcreteMixinTypeNameProvider"><summary>
            Defines an interface for classes providing a mechanism to retrieve a name for a generated concrete mixin type.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.IntroducedMemberAttribute"><summary>
            Added to a member introduced by a mixin on the generated concrete type.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.IntroducedMemberAttribute.Mixin"><summary>
            Gets the mixin that added the member.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.IntroducedMemberAttribute.MixinMemberName"><summary>
            Gets the name of the member as it is defined by the <see cref="P:Remotion.Mixins.CodeGeneration.IntroducedMemberAttribute.Mixin" />.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.IntroducedMemberAttribute.IntroducedInterface"><summary>
            Gets the interface defining the introduced member.
            </summary></member><member name="P:Remotion.Mixins.CodeGeneration.IntroducedMemberAttribute.InterfaceMemberName"><summary>
            Gets the name of the member as it is defined by the <see cref="P:Remotion.Mixins.CodeGeneration.IntroducedMemberAttribute.IntroducedInterface" />.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.MixinArrayInitializer"><summary>
            Initializes the mixin array held by generated concrete mixed types.
            </summary></member><member name="M:Remotion.Mixins.CodeGeneration.MixinArrayInitializer.#ctor(System.Type,System.Type[])"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.CodeGeneration.MixinArrayInitializer" /> class.
            </summary><param name="targetType">Target type of which the concrete mixed type was generated. This is mainly used for error messages.</param><param name="expectedMixinTypes">The expected mixin types. For derived mixins, these contain the concrete mixed types.</param></member><member name="T:Remotion.Mixins.CodeGeneration.NamespaceChangingNameProvider"><summary>
            Returns names for concrete mixed types by extending the type name of the target class with an additional namespace. This name provider
            cannot be used to return names for concrete mixin types those types wouldn't be uniquely identifiable if only the namespace was changed. 
            Use <see cref="T:Remotion.Mixins.CodeGeneration.GuidNameProvider" /> instead.
            </summary></member><member name="T:Remotion.Mixins.CodeGeneration.TypeImportException"><summary>
            Thrown when a concrete type should be imported, but the import fails.
            </summary></member><member name="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder"><summary>
            Assists <see cref="T:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder" /> by providing a fluent interface for building <see cref="T:Remotion.Mixins.Context.ClassContext" /> objects.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.Clear"><summary>
            Clears all mixin configuration for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. This causes the target type to ignore all mixin configuration data from its
            parent context and also resets all information collected so far for the class by this object.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddMixin(System.Type)"><summary>
            Collects the given type as a mixin for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />.
            </summary><param name="mixinType">The mixin type to collect.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddMixin``1"><summary>
            Collects the given type as a mixin for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddMixins(System.Type[])"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />.
            </summary><param name="mixinTypes">The mixin types to collect.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddMixins``2"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddMixins``3"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.EnsureMixin(System.Type)"><summary>
            Ensures that the given type is configured as a mixin for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />, adding it if necessary. The mixin will not be
            added if it has been taken over from the parent context (unless <see cref="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.Clear" /> was called); if added, it will override corresponding
            mixins inherited from a base type.
            </summary><param name="mixinType">The mixin type to collect.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.EnsureMixin``1"><summary>
            Ensures that the given type is configured as a mixin for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />, adding it if necessary. The mixin will not be
            added if it has been taken over from the parent context (unless <see cref="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.Clear" /> was called); if added, it will override corresponding
            mixins inherited from a base type.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.EnsureMixins(System.Type[])"><summary>
            Ensures that the given types are configured as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />, adding them if necessary. The mixins will not be
            added if they has been taken over from the parent context (unless <see cref="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.Clear" /> was called); if added, they will override corresponding
            mixins inherited from a base type.
            </summary><param name="mixinTypes">The mixin types to collect.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.EnsureMixins``2"><summary>
            Ensures that the given types are configured as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />, adding them if necessary. The mixins will not be
            added if they has been taken over from the parent context (unless <see cref="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.Clear" /> was called); if added, they will override corresponding
            mixins inherited from a base type.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.EnsureMixins``3"><summary>
            Ensures that the given types are configured as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />, adding them if necessary. The mixins will not be
            added if they has been taken over from the parent context (unless <see cref="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.Clear" /> was called); if added, they will override corresponding
            mixins inherited from a base type.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddOrderedMixins(System.Type[])"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" /> and adds dependencies between the mixins to ensure a proper base call
            order.
            </summary><param name="mixinTypes">The mixin types to collect with dependencies.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddOrderedMixins``2"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" /> and adds dependencies between the mixins to ensure a proper base call
            order.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddOrderedMixins``3"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" /> and adds dependencies between the mixins to ensure a proper base call
            order.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddCompleteInterface(System.Type)"><summary>
            Adds the given type as a complete interface to the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. A complete interface can contain both members defined by the
            target class itself and by mixins applied to the class, making it easier to invoke methods and properties on a mixed object without casting.
            </summary><param name="interfaceType">The type to collect as a complete interface.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddCompleteInterface``1"><summary>
            Adds the given type as a complete interface to the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. A complete interface can contain both members defined by the
            target class itself and by mixins applied to the class, making it easier to invoke methods and properties on a mixed object without casting.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddCompleteInterfaces(System.Type[])"><summary>
            Adds the given types as complete interfaces to the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. A complete interface can contain both members defined by the
            target class itself and by mixins applied to the class, making it easier to invoke methods and properties on a mixed object without casting.
            </summary><param name="interfaceTypes">The types to collect as complete interfaces.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddCompleteInterfaces``2"><summary>
            Adds the given types as complete interfaces to the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. A complete interface can contain both members defined by the
            target class itself and by mixins applied to the class, making it easier to invoke methods and properties on a mixed object without casting.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddCompleteInterfaces``3"><summary>
            Adds the given types as complete interfaces to the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. A complete interface can contain both members defined by the
            target class itself and by mixins applied to the class, making it easier to invoke methods and properties on a mixed object without casting.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.SuppressMixin(Remotion.Mixins.Context.Suppression.IMixinSuppressionRule)"><summary>
            Denotes that specific mixin types should be ignored in the context of this class. Suppression is helpful when a target class should take 
            over most of its mixins from the parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary><param name="rule">A <see cref="T:Remotion.Mixins.Context.Suppression.IMixinSuppressionRule" /> denoting mixin types to be suppressed.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.SuppressMixin(System.Type)"><summary>
            Denotes that a specific mixin type, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            ignored in the context of this class. Suppression is helpful when a target class should take over most of its mixins from the
            parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary><param name="mixinType">The mixin type, base type, or generic type definition denoting mixin types to be suppressed.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.SuppressMixin``1"><summary>
            Denotes that a specific mixin type, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            ignored in the context of this class. Suppression is helpful when a target class should take over most of its mixins from the
            parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.SuppressMixins(System.Type[])"><summary>
            Denotes that a number of mixin types, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            ignored in the context of this class. Suppression is helpful when a target class should take over most of its mixins from the
            parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary><param name="mixinTypes">The mixin types, base types, or generic type definitions denoting mixin types to be suppressed.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.SuppressMixins``2"><summary>
            Denotes that a number of mixin types, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            ignored in the context of this class. Suppression is helpful when a target class should take over most of its mixins from the
            parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.SuppressMixins``3"><summary>
            Denotes that a number of mixin types, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            ignored in the context of this class. Suppression is helpful when a target class should take over most of its mixins from the
            parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.BuildClassContext(System.Collections.Generic.IEnumerable{Remotion.Mixins.Context.ClassContext})"><summary>
            Builds a class context with the data collected so far for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" /> that inherits from other contexts.
            </summary><param name="inheritedContexts">A collection of <see cref="T:Remotion.Mixins.Context.ClassContext" /> instances the newly built context should inherit mixin data from.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.BuildClassContext"><summary>
            Builds a class context with the data collected so far for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" /> without inheriting from other contexts.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.ForClass(System.Type)"><summary>
            Begins configuration of another target class.
            </summary><param name="targetType">The class to be configured.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.ForClass``1"><summary>
            Begins configuration of another target class.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.BuildConfiguration"><summary>
            Builds a configuration object with the data gathered so far.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.EnterScope"><summary>
            Builds a configuration object and calls the <see cref="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.EnterScope" /> method on it, thus activating the configuration for the current
            thread. The previous configuration is restored when the returned object's <see cref="M:System.IDisposable.Dispose" /> method is called (e.g. by a
            using statement).
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.Parent"><summary>
            Gets the <see cref="T:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder" /> used for creating this <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" />.
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType"><summary>
            Gets the type configured by this <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" />.
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.MixinContextBuilders"><summary>
            Gets the mixin context builders collected so far.
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.CompleteInterfaces"><summary>
            Gets the complete interfaces collected so far.
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.SuppressedMixins"><summary>
            Gets the suppressed mixins collected so far.
            </summary></member><member name="T:Remotion.Mixins.Context.FluentBuilders.InheritanceResolvingClassContextBuilder"><summary>
            Builds <see cref="T:Remotion.Mixins.Context.ClassContext" /> instances from <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" /> objects and applies inheritance from a parent configuration 
            and the types indicated by a <see cref="T:Remotion.Mixins.Context.IMixinInheritancePolicy" />.
            This is done as follows:
            <list type="bullet">
            <item>A <see cref="T:Remotion.Mixins.Context.ClassContext" /> that exists in the parent configuration is kept as is, unless there is a 
            <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" /> for the same type.</item>
            <item>A <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" /> is transformed into a new <see cref="T:Remotion.Mixins.Context.ClassContext" />:</item>
              <list type="bullet">
              <item>First, the <see cref="T:Remotion.Mixins.Context.ClassContext" /> objects for its base classes and interfaces are retrieved or created.</item> 
              <item>Then, the corresponding <see cref="T:Remotion.Mixins.Context.ClassContext" /> from the parent configuration is retrieved.</item>
              <item>Then, a new <see cref="T:Remotion.Mixins.Context.ClassContext" /> is created from the <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" />; inheriting everything from the base
              and parent contexts.</item>
              </list>
            </list>
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.InheritanceResolvingClassContextBuilder.#ctor(System.Collections.Generic.IEnumerable{Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder},Remotion.Mixins.Context.ClassContextCollection,Remotion.Mixins.Context.IMixinInheritancePolicy)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.Context.FluentBuilders.InheritanceResolvingClassContextBuilder" /> class.
            </summary><param name="classContextBuilders">All class context builders relevant for the inheritance hierarchy of the target types involved.</param><param name="parentContexts">The <see cref="T:Remotion.Mixins.Context.ClassContext" /> instances defined by the parent configuration.</param><param name="inheritancePolicy">The inheritance policy to use when resolving the inheritance hierarchy of the target types.</param></member><member name="T:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder"><summary>
            Provides a fluent interface for building <see cref="T:Remotion.Mixins.MixinConfiguration" /> objects.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder.ForClass(System.Type)"><summary>
            Begins configuration of a target class.
            </summary><param name="targetType">The class to be configured.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder.ForClass``1"><summary>
            Begins configuration of a target class.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder.AddMixinToClass(Remotion.Mixins.MixinKind,System.Type,System.Type,Remotion.Mixins.MemberVisibility,System.Collections.Generic.IEnumerable{System.Type},System.Collections.Generic.IEnumerable{System.Type})"><summary>
            Adds the given mixin to the given target type with a number of explicit dependencies and suppressed mixins. This is a shortcut
            method for calling <see cref="M:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder.ForClass(System.Type)" />, <see cref="M:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.AddMixin(System.Type)" />, <see cref="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.WithDependencies(System.Type[])" />,
            and <see cref="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.ReplaceMixins(System.Type[])" /> in a row.
            </summary><param name="mixinKind">The kind of relationship the mixin has with its target class.</param><param name="targetType">The target type to add a mixin for.</param><param name="mixinType">The mixin type to add.</param><param name="introducedMemberVisibility">The default visibility to be used for introduced members.</param><param name="explicitDependencies">The explicit dependencies of the mixin in the context of the target type.</param><param name="suppressedMixins">The mixins suppressed by this mixin in the context of the target type.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder.BuildConfiguration"><summary>
            Builds a configuration object with the data gathered so far.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder.EnterScope"><summary>
            Builds a configuration object and calls the <see cref="M:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder.EnterScope" /> method on it, thus activating the configuration for the current
            thread. The previous configuration is restored when the returned object's <see cref="M:System.IDisposable.Dispose" /> method is called (e.g. by a
            using statement).
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder.ParentConfiguration"><summary>
            Gets the parent configuration used as a base for the newly built mixin configuration.
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder.ClassContextBuilders"><summary>
            Gets the class context builders collected so far via the fluent interfaces.
            </summary></member><member name="T:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder"><summary>
            Assists <see cref="T:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder" /> by providing a fluent interface for building <see cref="T:Remotion.Mixins.Context.MixinContext" /> objects.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.OfKind(Remotion.Mixins.MixinKind)"><summary>
            Defines the relationship the mixin has with its target class, which influences whether the mixin overrides attributes and interfaces
            of the target class, or the other way around. For more information see <see cref="T:Remotion.Mixins.MixinKind" />. The default value
            is <see cref="F:Remotion.Mixins.MixinKind.Extending" />.
            </summary><param name="kind">The mixin kind.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.WithDependency(System.Type)"><summary>
            Collects a dependency for the configured <see cref="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.MixinType" />. A dependency causes a base call ordering to be defined between two mixins:
            if mixin A depends on mixin B and both override the same methods, A's overrides will be called before B's overrides when an overridden member
            is invoked.
            </summary><param name="requiredMixin">The mixin required by the configured <see cref="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.MixinType" />.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.WithDependency``1"><summary>
            Collects a dependency for the configured <see cref="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.MixinType" />. A dependency causes a base call ordering to be defined between two mixins:
            if mixin A depends on mixin B and both override the same methods, A's overrides will be called before B's overrides when an overridden member
            is invoked.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.WithDependencies(System.Type[])"><summary>
            Collects a number of dependencies for the configured <see cref="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.MixinType" />. A dependency causes a base call ordering to be defined between
            two mixins:
            if mixin A depends on mixin B and both override the same methods, A's overrides will be called before B's overrides when an overridden member
            is invoked.
            </summary><param name="requiredMixins">The mixins (or interfaces) required by the configured <see cref="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.MixinType" />.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.WithDependencies``2"><summary>
            Collects a number of dependencies for the configured <see cref="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.MixinType" />. A dependency causes a base call ordering to be defined between
            two mixins:
            if mixin A depends on mixin B and both override the same methods, A's overrides will be called before B's overrides when an overridden member
            is invoked.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.WithDependencies``3"><summary>
            Collects a number of dependencies for the configured <see cref="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.MixinType" />. A dependency causes a base call ordering to be defined between
            two mixins:
            if mixin A depends on mixin B and both override the same methods, A's overrides will be called before B's overrides when an overridden member
            is invoked.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.WithIntroducedMemberVisibility(Remotion.Mixins.MemberVisibility)"><summary>
            Sets the default visibility of members introduced by this mixin to the given <paramref name="memberVisibility" />.
            </summary><param name="memberVisibility">The default member visibility to be used.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.ReplaceMixin(System.Type)"><summary>
            Denotes that a specific mixin type, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            replaced by this mixin type.
            </summary><param name="replacedMixinType">The mixin type, base type, or generic type definition denoting mixin types to be replaced.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.ReplaceMixin``1"><summary>
            Denotes that a specific mixin type, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            replaced by this mixin type.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.ReplaceMixins(System.Type[])"><summary>
            Denotes that specific mixin types, and all mixin types that can be ascribed to them (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            replaced by this mixin type.
            </summary><param name="replacedMixinTypes">The mixin types, base types, or generic type definitions denoting mixin types to be replaced.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.ReplaceMixins``2"><summary>
            Denotes that specific mixin types, and all mixin types that can be ascribed to them (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            replaced by this mixin type.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.ReplaceMixins``3"><summary>
            Denotes that specific mixin types, and all mixin types that can be ascribed to them (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            replaced by this mixin type.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.BuildMixinContext"><summary>
            Builds a mixin context with the data collected so far for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.MixinType" />.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.Clear"><summary>
            Clears all mixin configuration for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.Parent" />'s <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. This causes the target type to ignore
            all mixin configuration data from its
            parent context and also resets all information collected so far for the class by this object.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddMixin(System.Type)"><summary>
            Collects the given type as a mixin for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />.
            </summary><param name="mixinType">The mixin type to collect.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddMixin``1"><summary>
            Collects the given type as a mixin for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddMixins(System.Type[])"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />.
            </summary><param name="mixinTypes">The mixin types to collect.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddMixins``2"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddMixins``3"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.EnsureMixin(System.Type)"><summary>
            Ensures that the given type is configured as a mixin for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />, adding it if necessary. The mixin will not be
            added if it is also present in the parent context (unless <see cref="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.Clear" /> was called); if added, it will override corresponding
            mixins inherited from a base type.
            </summary><param name="mixinType">The mixin type to collect.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.EnsureMixin``1"><summary>
            Ensures that the given type is configured as a mixin for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />, adding it if necessary. The mixin will not be
            added if it is also present in the parent context (unless <see cref="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.Clear" /> was called); if added, it will override corresponding
            mixins inherited from a base type.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.EnsureMixins(System.Type[])"><summary>
            Ensures that the given types are configured as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />, adding them if necessary. The mixins will not be
            added if they are also present in the parent context (unless <see cref="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.Clear" /> was called); if added, they will override corresponding
            mixins inherited from a base type.
            </summary><param name="mixinTypes">The mixin types to collect.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.EnsureMixins``2"><summary>
            Ensures that the given types are configured as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />, adding them if necessary. The mixins will not be
            added if they are also present in the parent context (unless <see cref="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.Clear" /> was called); if added, they will override corresponding
            mixins inherited from a base type.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.EnsureMixins``3"><summary>
            Ensures that the given types are configured as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />, adding them if necessary. The mixins will not be
            added if they are also present in the parent context (unless <see cref="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.Clear" /> was called); if added, they will override corresponding
            mixins inherited from a base type.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddOrderedMixins(System.Type[])"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" /> and adds dependencies between the mixins to ensure a proper base call
            order.
            </summary><param name="mixinTypes">The mixin types to collect with dependencies.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddOrderedMixins``2"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" /> and adds dependencies between the mixins to ensure a proper base call
            order.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddOrderedMixins``3"><summary>
            Collects the given types as mixins for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" /> and adds dependencies between the mixins to ensure a proper base call
            order.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddCompleteInterface(System.Type)"><summary>
            Adds the given type as a complete interface to the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. A complete interface can contain both members defined by the
            target class itself and by mixins applied to the class, making it easier to invoke methods and properties on a mixed object without casting.
            </summary><param name="interfaceType">The type to collect as a complete interface.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddCompleteInterface``1"><summary>
            Adds the given type as a complete interface to the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. A complete interface can contain both members defined by the
            target class itself and by mixins applied to the class, making it easier to invoke methods and properties on a mixed object without casting.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddCompleteInterfaces(System.Type[])"><summary>
            Adds the given types as complete interfaces to the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. A complete interface can contain both members defined by the
            target class itself and by mixins applied to the class, making it easier to invoke methods and properties on a mixed object without casting.
            </summary><param name="interfaceTypes">The types to collect as complete interfaces.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddCompleteInterfaces``2"><summary>
            Adds the given types as complete interfaces to the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. A complete interface can contain both members defined by the
            target class itself and by mixins applied to the class, making it easier to invoke methods and properties on a mixed object without casting.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.AddCompleteInterfaces``3"><summary>
            Adds the given types as complete interfaces to the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" />. A complete interface can contain both members defined by the
            target class itself and by mixins applied to the class, making it easier to invoke methods and properties on a mixed object without casting.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.SuppressMixin(Remotion.Mixins.Context.Suppression.IMixinSuppressionRule)"><summary>
            Denotes that specific mixin types should be ignored in the context of this class. Suppression is helpful when a target class should take 
            over most of its mixins from the parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary><param name="rule">A <see cref="T:Remotion.Mixins.Context.Suppression.IMixinSuppressionRule" /> denoting mixin types to be suppressed.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.SuppressMixin(System.Type)"><summary>
            Denotes that a specific mixin type, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            ignored in the context of this object's <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" />. Suppression is helpful when a target class should take over most 
            of its mixins from the parent context or inherit mixins from another type, but a specific mixin should be ignored in that 
            process.
            </summary><param name="mixinType">The mixin type, base type, or generic type definition denoting mixin types to be suppressed.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.SuppressMixin``1"><summary>
            Denotes that a specific mixin type, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            ignored in the context of this object's <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" />. Suppression is helpful when a target class should take over most of its mixins from the
            parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.SuppressMixins(System.Type[])"><summary>
            Denotes that a number of mixin types, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            ignored in the context of this object's <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" />. Suppression is helpful when a target class should take over most of its mixins from the
            parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary><param name="mixinTypes">The mixin types, base types, or generic type definitions denoting mixin types to be suppressed.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.SuppressMixins``2"><summary>
            Denotes that a number of mixin types, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            ignored in the context of this object's <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" />. Suppression is helpful when a target class should take over most of its mixins from the
            parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.SuppressMixins``3"><summary>
            Denotes that a number of mixin types, and all mixin types that can be ascribed to it (see <see cref="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)" />), should be
            ignored in the context of this object's <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" />. Suppression is helpful when a target class should take over most of its mixins from the
            parent context or inherit mixins from another type, but a specific mixin should be ignored in that process.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.BuildClassContext(System.Collections.Generic.IEnumerable{Remotion.Mixins.Context.ClassContext})"><summary>
            Builds a class context with the data collected so far for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" /> that inherits from other contexts.
            </summary><param name="inheritedContexts">A collection of <see cref="T:Remotion.Mixins.Context.ClassContext" /> instances the newly built context should inherit mixin data from.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.BuildClassContext"><summary>
            Builds a class context with the data collected so far for the <see cref="P:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder.TargetType" /> without inheriting from other contexts.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.ForClass(System.Type)"><summary>
            Begins configuration of another target class.
            </summary><param name="targetType">The class to be configured.</param></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.ForClass``1"><summary>
            Begins configuration of another target class.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.BuildConfiguration"><summary>
            Builds a configuration object with the data gathered so far.
            </summary></member><member name="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.EnterScope"><summary>
            Builds a configuration object and calls the <see cref="M:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.EnterScope" /> method on it, thus activating the configuration for the current
            thread. The previous configuration is restored when the returned object's <see cref="M:System.IDisposable.Dispose" /> method is called (e.g. by a
            using statement).
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.Parent"><summary>
            Gets the <see cref="T:Remotion.Mixins.Context.FluentBuilders.ClassContextBuilder" /> used for creating this <see cref="T:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder" />.
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.MixinKind"><summary>
            Gets the kind of relationship the configured mixin has with its target class.
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.MixinType"><summary>
            Gets mixin type configured by this object.
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.Dependencies"><summary>
            Gets the base call dependencies collected so far.
            </summary></member><member name="P:Remotion.Mixins.Context.FluentBuilders.MixinContextBuilder.IntroducedMemberVisiblity"><summary>
            Gets the default introduced member visiblity for this mixin.
            </summary></member><member name="T:Remotion.Mixins.Context.Suppression.IMixinSuppressionRule"><summary>
            Defines a rule suppressing specific mixin types in a mixin configuration.
            </summary></member><member name="M:Remotion.Mixins.Context.Suppression.IMixinSuppressionRule.RemoveAffectedMixins(System.Collections.Generic.Dictionary{System.Type,Remotion.Mixins.Context.MixinContext})"><summary>
            Removes all mixins affected by this rule from the <paramref name="configuredMixinTypes" /> dictionary.
            </summary><param name="configuredMixinTypes">The dictionary from which to remove the affected mixins.</param></member><member name="T:Remotion.Mixins.Context.Suppression.MixinTreeReplacementSuppressionRule"><summary>
            Replaces all mixins that can be ascribed to a given base class with a new mixin. If the replacing mixin or one of its subclasses can be ascribed
            to the replaced class, it is not suppressed.
            </summary></member><member name="T:Remotion.Mixins.Context.Suppression.MixinTreeSuppressionRule"><summary>
            Suppresses all mixins that can be ascribed to a given base class.
            </summary></member><member name="T:Remotion.Mixins.Context.ClassContext"><summary>
            Holds the mixin configuration information for a single mixin target class.
            </summary></member><member name="M:Remotion.Mixins.Context.ClassContext.#ctor(System.Type,System.Collections.Generic.IEnumerable{Remotion.Mixins.Context.MixinContext},System.Collections.Generic.IEnumerable{System.Type})"><summary>
            Initializes a new <see cref="T:Remotion.Mixins.Context.ClassContext" /> for a given mixin target type.
            </summary><param name="type">The mixin target type to be represented by this context.</param><param name="mixins">A list of <see cref="T:Remotion.Mixins.Context.MixinContext" /> objects representing the mixins applied to this class.</param><param name="completeInterfaces">The complete interfaces supported by the class.</param></member><member name="M:Remotion.Mixins.Context.ClassContext.#ctor(System.Type)"><summary>
            Initializes a new <see cref="T:Remotion.Mixins.Context.ClassContext" /> for a given target type without mixins.
            </summary><param name="type">The mixin target type to be represented by this context.</param></member><member name="M:Remotion.Mixins.Context.ClassContext.#ctor(System.Type,Remotion.Mixins.Context.MixinContext[])"><summary>
            Initializes a new <see cref="T:Remotion.Mixins.Context.ClassContext" /> for a given mixin target type.
            </summary><param name="type">The mixin target type to be represented by this context.</param><param name="mixins">A list of <see cref="T:Remotion.Mixins.Context.MixinContext" /> objects representing the mixins applied to this class.</param></member><member name="M:Remotion.Mixins.Context.ClassContext.#ctor(System.Type,System.Type[])"><summary>
            Initializes a new <see cref="T:Remotion.Mixins.Context.ClassContext" /> for a given mixin target type and initializes it to be associated with the given
            mixin types.
            </summary><param name="type">The mixin target type to be represented by this context.</param><param name="mixinTypes">The mixin types to be associated with this context.</param></member><member name="M:Remotion.Mixins.Context.ClassContext.IsEmpty"><summary>
            Determines whether this <see cref="T:Remotion.Mixins.Context.ClassContext" /> is empty, i.e. it contains no <see cref="P:Remotion.Mixins.Context.ClassContext.Mixins" /> or <see cref="P:Remotion.Mixins.Context.ClassContext.CompleteInterfaces" />.
            </summary></member><member name="M:Remotion.Mixins.Context.ClassContext.Equals(System.Object)"><summary>
            Determines whether the specified <see cref="T:System.Object"></see> is equal to the current <see cref="T:Remotion.Mixins.Context.ClassContext" />.
            </summary><param name="obj">The <see cref="T:System.Object"></see> to compare with this <see cref="T:Remotion.Mixins.Context.ClassContext" />.</param></member><member name="M:Remotion.Mixins.Context.ClassContext.GetHashCode"><summary>
            Returns a hash code for this <see cref="T:Remotion.Mixins.Context.ClassContext" />.
            </summary></member><member name="M:Remotion.Mixins.Context.ClassContext.ToString"><summary>
            Returns a <see cref="T:System.String"></see> that represents the current <see cref="T:Remotion.Mixins.Context.ClassContext" />.
            </summary></member><member name="M:Remotion.Mixins.Context.ClassContext.CloneForSpecificType(System.Type)"><summary>
            Returns a new <see cref="T:Remotion.Mixins.Context.ClassContext" /> with the same mixins and complete interfaces as this object, but a different target type.
            </summary><param name="type">The target type to create the new <see cref="T:Remotion.Mixins.Context.ClassContext" /> for.</param></member><member name="M:Remotion.Mixins.Context.ClassContext.SpecializeWithTypeArguments(System.Type[])"><summary>
            Creates a clone of the current class context, replacing its generic parameters with type arguments. This method is only allowed on
            class contexts representing a generic type definition.
            </summary><param name="genericArguments">The type arguments to specialize this context's <see cref="P:Remotion.Mixins.Context.ClassContext.Type" /> with.</param></member><member name="M:Remotion.Mixins.Context.ClassContext.InheritFrom(Remotion.Mixins.Context.ClassContext)"><summary>
            Creates a new <see cref="T:Remotion.Mixins.Context.ClassContext" /> inheriting all data from the given <paramref name="baseContext" /> and applying overriding rules for
            mixins and concrete interfaces already defined for this <see cref="T:Remotion.Mixins.Context.ClassContext" />.
            </summary><param name="baseContext">The base context to inherit data from.</param></member><member name="M:Remotion.Mixins.Context.ClassContext.InheritFrom(System.Collections.Generic.IEnumerable{Remotion.Mixins.Context.ClassContext})"><summary>
            Creates a new <see cref="T:Remotion.Mixins.Context.ClassContext" /> inheriting all data from the given <paramref name="baseContexts" /> and applying overriding rules for
            mixins and concrete interfaces already defined for this <see cref="T:Remotion.Mixins.Context.ClassContext" />.
            </summary><param name="baseContexts">The base contexts to inherit data from.</param></member><member name="M:Remotion.Mixins.Context.ClassContext.SuppressMixins(System.Collections.Generic.IEnumerable{Remotion.Mixins.Context.Suppression.IMixinSuppressionRule})"><summary>
            Returns a new <see cref="T:Remotion.Mixins.Context.ClassContext" /> equivalent to this object but with all mixins affected by the given 
            <paramref name="suppressionRules" /> removed.
            </summary><param name="suppressionRules">The rules describing the mixin types to suppress.</param></member><member name="P:Remotion.Mixins.Context.ClassContext.Type"><summary>
            Gets the type represented by this <see cref="T:Remotion.Mixins.Context.ClassContext" />.
            </summary></member><member name="P:Remotion.Mixins.Context.ClassContext.Mixins"><summary>
            Gets the mixins associated with this <see cref="T:Remotion.Mixins.Context.ClassContext" />.
            </summary></member><member name="P:Remotion.Mixins.Context.ClassContext.CompleteInterfaces"><summary>
            Gets the complete interfaces associated with this <see cref="T:Remotion.Mixins.Context.ClassContext" />.
            </summary></member><member name="T:Remotion.Mixins.Context.ClassContextCollection"><summary>
            Holds the <see cref="T:Remotion.Mixins.Context.ClassContext" /> instances for a <see cref="T:Remotion.Mixins.MixinConfiguration" />, providing easy means to search exactly for a given type
            (<see cref="M:Remotion.Mixins.Context.ClassContextCollection.GetExact(System.Type)" />) and with inheritance rules (<see cref="M:Remotion.Mixins.Context.ClassContextCollection.GetWithInheritance(System.Type)" />).
            This class is immutable, i.e., it is initialized on construction and cannot be changed later on.
            </summary></member><member name="T:Remotion.Mixins.Context.DeclarativeConfigurationBuilder"><summary>
            Provides support for building mixin configuration data from the declarative mixin configuration attributes
            (<see cref="T:Remotion.Mixins.UsesAttribute" />, <see cref="T:Remotion.Mixins.ExtendsAttribute" />, <see cref="T:Remotion.Mixins.CompleteInterfaceAttribute" />,
            and <see cref="T:Remotion.Mixins.IgnoreForMixinConfigurationAttribute" />).
            </summary></member><member name="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.BuildConfigurationFromAssemblies(System.Reflection.Assembly[])"><summary>
            Builds a new <see cref="T:Remotion.Mixins.MixinConfiguration" /> from the declarative configuration information in the given assemblies without inheriting
            from a parent configuration.
            </summary><param name="assemblies">The assemblies to be scanned for declarative mixin information.</param></member><member name="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.BuildConfigurationFromAssemblies(Remotion.Mixins.MixinConfiguration,System.Reflection.Assembly[])"><summary>
            Builds a new <see cref="T:Remotion.Mixins.MixinConfiguration" /> from the declarative configuration information in the given assemblies.
            </summary><param name="parentConfiguration">The parent configuration to derive the new configuration from (can be <see langword="null" />).</param><param name="assemblies">The assemblies to be scanned for declarative mixin information.</param></member><member name="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.BuildConfigurationFromAssemblies(Remotion.Mixins.MixinConfiguration,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})"><summary>
            Builds a new <see cref="T:Remotion.Mixins.MixinConfiguration" /> from the declarative configuration information in the given assemblies.
            </summary><param name="parentConfiguration">The parent configuration to derive the new configuration from (can be <see langword="null" />).</param><param name="assemblies">The assemblies to be scanned for declarative mixin information.</param></member><member name="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.BuildConfigurationFromTypes(Remotion.Mixins.MixinConfiguration,System.Collections.Generic.IEnumerable{System.Type})"><summary>
            Builds a new <see cref="T:Remotion.Mixins.MixinConfiguration" /> from the declarative configuration information in the given types.
            </summary><param name="parentConfiguration">The parent configuration to derive the new configuration from (can be <see langword="null" />).</param><param name="types">The types to be scanned for declarative mixin information.</param></member><member name="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.BuildDefaultConfiguration"><summary>
            Builds the default application configuration by analyzing all assemblies in the application bin directory and their (directly or indirectly)
            referenced assemblies for mixin configuration information. System assemblies are not scanned.
            </summary></member><member name="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.#ctor(Remotion.Mixins.MixinConfiguration)"><summary>
            Initializes a new <see cref="T:Remotion.Mixins.Context.DeclarativeConfigurationBuilder" />, which can be used to collect assemblies and types with declarative
            mixin configuration attributes in order to build an <see cref="T:Remotion.Mixins.MixinConfiguration" />.
            </summary><param name="parentConfiguration">The parent configuration used when this instance builds a new <see cref="T:Remotion.Mixins.MixinConfiguration" />.</param></member><member name="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.AddAssembly(System.Reflection.Assembly)"><summary>
            Scans the given assembly for declarative mixin configuration information and stores the information for a later call to <see cref="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.BuildConfiguration" />.
            The mixin configuration information of types marked with the <see cref="T:Remotion.Mixins.IgnoreForMixinConfigurationAttribute" /> will be ignored.
            </summary><param name="assembly">The assembly to be scanned.</param></member><member name="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.AddType(System.Type)"><summary>
            Scans the given type for declarative mixin configuration information and stores the information for a later call to <see cref="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.BuildConfiguration" />.
            The type will be scanned whether or not is is marked with the <see cref="T:Remotion.Mixins.IgnoreForMixinConfigurationAttribute" />.
            </summary><param name="type">The type to be scanned. This must be a non-generic type or a generic type definition. Closed generic types are not
            supported to be scanned.</param></member><member name="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.BuildConfiguration"><summary>
            Analyzes the information added so far to this builder and creates a new <see cref="T:Remotion.Mixins.MixinConfiguration" /> from that data.
            </summary></member><member name="T:Remotion.Mixins.Context.DefaultMixinInheritancePolicy"><summary>
            Encapsulates the rules governing mixin inheritance for target types.
            </summary></member><member name="T:Remotion.Mixins.Context.IMixinInheritancePolicy"><summary>
            Provides a public interface for objects encapsulating the rules governing mixin inheritance for target types.
            </summary></member><member name="M:Remotion.Mixins.Context.IMixinInheritancePolicy.GetTypesToInheritFrom(System.Type)"><summary>
            Gets the types this <paramref name="targetType" /> inherits mixins from. A target type inherits mixins from its generic type definition,
            its base class, and its interfaces.
            </summary><param name="targetType">The type whose "base" types should be retrieved.</param></member><member name="M:Remotion.Mixins.Context.IMixinInheritancePolicy.GetClassContextsToInheritFrom(System.Type,System.Func{System.Type,Remotion.Mixins.Context.ClassContext})"><summary>
            Gets the class contexts this <paramref name="targetType" /> inherits mixins from. A target type inherits mixins from its generic type 
            definition, its base class, and its interfaces.
            </summary><param name="targetType">The type whose "base" <see cref="T:Remotion.Mixins.Context.ClassContext" /> instances should be retrieved.</param><param name="classContextRetriever">A function returning the <see cref="T:Remotion.Mixins.Context.ClassContext" /> for a given type.</param></member><member name="M:Remotion.Mixins.Context.DefaultMixinInheritancePolicy.GetTypesToInheritFrom(System.Type)"><summary>
            Gets the types this <paramref name="targetType" /> inherits mixins from. A target type inherits mixins from its generic type definition,
            its base class, and its interfaces.
            </summary><param name="targetType">The type whose "base" types should be retrieved.</param></member><member name="M:Remotion.Mixins.Context.DefaultMixinInheritancePolicy.GetClassContextsToInheritFrom(System.Type,System.Func{System.Type,Remotion.Mixins.Context.ClassContext})"><summary>
            Gets the class contexts this <paramref name="targetType" /> inherits mixins from. A target type inherits mixins from its generic type 
            definition, its base class, and its interfaces.
            </summary><param name="targetType">The type whose "base" <see cref="T:Remotion.Mixins.Context.ClassContext" /> instances should be retrieved.</param><param name="classContextRetriever">A function returning the <see cref="T:Remotion.Mixins.Context.ClassContext" /> for a given type.</param></member><member name="T:Remotion.Mixins.Context.MixinContext"><summary>
            Represents a single mixin applied to a target class.
            </summary></member><member name="M:Remotion.Mixins.Context.MixinContext.#ctor(Remotion.Mixins.MixinKind,System.Type,Remotion.Mixins.MemberVisibility,System.Collections.Generic.IEnumerable{System.Type})"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.Context.MixinContext" /> class.
            </summary><param name="mixinKind">The kind of relationship the configured mixin has with its target class.</param><param name="mixinType">The mixin type represented by this <see cref="T:Remotion.Mixins.Context.MixinContext" />.</param><param name="introducedMemberVisibility">The default visbility of introduced members.</param><param name="explicitDependencies">The explicit dependencies of the mixin.</param></member><member name="M:Remotion.Mixins.Context.MixinContext.#ctor(Remotion.Mixins.MixinKind,System.Type,Remotion.Mixins.MemberVisibility,System.Type[])"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.Context.MixinContext" /> class.
            </summary><param name="mixinKind">The kind of mixin represented by this <see cref="T:Remotion.Mixins.Context.MixinContext" />.</param><param name="mixinType">The mixin type represented by this <see cref="T:Remotion.Mixins.Context.MixinContext" />.</param><param name="introducedMemberVisibility">The default visbility of introduced members.</param><param name="explicitDependencies">The explicit dependencies of the mixin.</param></member><member name="M:Remotion.Mixins.Context.MixinContext.Equals(System.Object)"><summary>
            Determines whether the specified <see cref="T:System.Object"></see> is equal to the current <see cref="T:Remotion.Mixins.Context.MixinContext" />.
            </summary><param name="obj">The <see cref="T:System.Object"></see> to compare with this <see cref="T:Remotion.Mixins.Context.MixinContext" />.</param></member><member name="M:Remotion.Mixins.Context.MixinContext.GetHashCode"><summary>
            Returns a hash code for this <see cref="T:Remotion.Mixins.Context.MixinContext" />.
            </summary></member><member name="P:Remotion.Mixins.Context.MixinContext.ExplicitDependencies"><summary>
            Gets the explicit dependencies added to this <see cref="T:Remotion.Mixins.Context.MixinContext" />.
            </summary></member><member name="P:Remotion.Mixins.Context.MixinContext.IntroducedMemberVisibility"><summary>
            Gets the default visibility of members introduced by this mixin.
            </summary></member><member name="P:Remotion.Mixins.Context.MixinContext.MixinType"><summary>
            The mixin type represented by the <see cref="T:Remotion.Mixins.Context.MixinContext" />.
            </summary></member><member name="P:Remotion.Mixins.Context.MixinContext.MixinKind"><summary>
            The kind of relationship the configured mixin has with its target class.
            </summary></member><member name="M:Remotion.Mixins.Context.MixinContextCollection.ContainsAssignableMixin(System.Type)"><summary>
            Determines whether this <see cref="T:Remotion.Mixins.Context.ClassContext" /> contains a mixin type assignable to the specified type.
            </summary><param name="baseMixinType">The mixin type to check for.</param></member><member name="M:Remotion.Mixins.Context.MixinContextCollection.ContainsOverrideForMixin(System.Type)"><summary>
            Determines whether a mixin configured with this <see cref="T:Remotion.Mixins.Context.ClassContext" /> overrides the given <paramref name="mixinType" />.
            </summary><param name="mixinType">The mixin type which is to be checked for overriders.</param></member><member name="T:Remotion.Mixins.Definitions.Building.DependencySorting.MixinDefinitionSorter"><summary>
            Sorts the given mixin definitions by first grouping them into independent groups via <see cref="T:Remotion.Mixins.Definitions.Building.DependencySorting.DependentMixinGrouper" /> and then sorting the
            mixins in the groups via <see cref="T:Remotion.Mixins.Utilities.DependencySort.DependentObjectSorter`1" />. The groups are alphabetically sorted according to the full name of the first 
            mixin in the group.
            </summary></member><member name="M:Remotion.Mixins.Definitions.Building.DependencySorting.MixinDefinitionSorter.SortMixins(Remotion.Mixins.Definitions.TargetClassDefinition)"><summary>
            Sorts the mixins of <paramref name="targetClassDefinition" />. The <see cref="T:Remotion.Mixins.Definitions.TargetClassDefinition" /> is required because without a target
            class, the dependencies are not defined.
            </summary><param name="targetClassDefinition">The target class definition holding the mixins.</param></member><member name="T:Remotion.Mixins.Definitions.Building.MemberOverridePair`1"><summary>
            Represents an overridden method together with its overrider.
            </summary></member><member name="T:Remotion.Mixins.Definitions.Building.OverriddenMemberFilter"><summary>
            Takes a list of <see cref="T:System.Reflection.MemberInfo" /> objects and removed those members that are overridden within that list, so that only the most derived
            members are returned. For members with more than one accessor (e.g. properties with a get and a set accessor), both overriding and overridden
            member are returned unless all accessors are overridden. This also applies in a chain of overrides - all members are returned that contain one
            accessor that is not overridden.
            </summary></member><member name="T:Remotion.Mixins.Definitions.Building.RequirementsAnalyzer"><summary>
            Finds the requirements imposed by a given <see cref="T:Remotion.Mixins.Definitions.MixinDefinition" /> on its <see cref="T:Remotion.Mixins.Definitions.TargetClassDefinition" /> by analyzing the types
            passed as generic arguments of the <see cref="T:Remotion.Mixins.Mixin`1" /> and <see cref="T:Remotion.Mixins.Mixin`2" /> base classes.
            </summary></member><member name="M:Remotion.Mixins.Definitions.Building.RequirementsAnalyzer.#ctor(Remotion.Mixins.Utilities.MixinGenericArgumentFinder)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.Definitions.Building.RequirementsAnalyzer" /> class.
            </summary><param name="genericArgumentFinder">The <see cref="T:Remotion.Mixins.Utilities.MixinGenericArgumentFinder" /> used to determine the generic argument defining the
            requirements to be analyzed.</param></member><member name="M:Remotion.Mixins.Definitions.ClassDefinitionBase.GetAdjustedInterfaceMap(System.Type)"><summary>
            Gets the result of <see cref="M:System.Type.GetInterfaceMap(System.Type)" /> for <see cref="P:Remotion.Mixins.Definitions.ClassDefinitionBase.Type" />, adjusting the <see cref="T:System.Reflection.MethodInfo" /> instances returned
            so that they match those stored in the <see cref="T:Remotion.Mixins.Definitions.MethodDefinition" /> objects freturned by <see cref="P:Remotion.Mixins.Definitions.ClassDefinitionBase.Methods" /> and <see cref="M:Remotion.Mixins.Definitions.ClassDefinitionBase.GetAllMembers" />.
            </summary><param name="interfaceType">The interface to create a mapping for.</param></member><member name="T:Remotion.Mixins.Definitions.TargetClassDefinitionFactory"><summary>
            Creates <see cref="T:Remotion.Mixins.Definitions.TargetClassDefinition" /> objects from <see cref="T:Remotion.Mixins.Context.ClassContext" /> instances, validating them before returning.
            </summary></member><member name="T:Remotion.Mixins.Globalization.MixedMultiLingualResources"><summary>
            Provides a variant of <see cref="T:Remotion.Globalization.MultiLingualResources" /> that can be used to have mixins add resource identifiers to a target
            class. With this class, attributes are not only retrieved from the class and its base classes, but also from its mixins.
            </summary></member><member name="M:Remotion.Mixins.Globalization.MixedMultiLingualResources.GetResourceManager(System.Type,System.Boolean)"><summary>
              Returns an instance of <see cref="T:Remotion.Globalization.IResourceManager" /> for the resource container specified in the class declaration of the type.
            </summary><param name="objectType">The type to return an <see cref="T:Remotion.Globalization.IResourceManager" /> for.</param><param name="includeHierarchy">If set to true, <see cref="T:Remotion.Globalization.MultiLingualResourcesAttribute" /> applied to base classes and mixins will be
            included in the resource manager; otherwise, only the <paramref name="objectType" /> is searched for such attributes.</param></member><member name="M:Remotion.Mixins.Globalization.MixedMultiLingualResources.GetResourceManager(System.Type)"><summary>
              Returns an instance of <see cref="T:Remotion.Globalization.IResourceManager" /> for the resource container specified in the class declaration of the type
              that does not include resource managers for base classes and mixins.
            </summary><param name="objectType">The type to return an <see cref="T:Remotion.Globalization.IResourceManager" /> for.</param></member><member name="M:Remotion.Mixins.Globalization.MixedMultiLingualResources.GetResourceText(System.Type,System.String)"><summary>
              Loads a string resource for the specified type, identified by ID.
            </summary><param name="objectTypeToGetResourceFor">
              The <see cref="T:System.Type" /> for which to get the resource.
            </param><param name="name"> The ID of the resource. </param></member><member name="M:Remotion.Mixins.Globalization.MixedMultiLingualResources.ExistsResourceText(System.Type,System.String)"><summary>
              Checks for the existence of a string resource for the specified type, identified by ID.
            </summary><param name="objectTypeToGetResourceFor">
              The <see cref="T:System.Type" /> for which to check the resource.
            </param><param name="name"> The ID of the resource. </param></member><member name="M:Remotion.Mixins.Globalization.MixedMultiLingualResources.ExistsResource(System.Type)"><summary>
              Checks for the existence of a resource set for the specified type.
            </summary><param name="objectTypeToGetResourceFor">
              The <see cref="T:System.Type" /> for which to check for the resource set.
            </param></member><member name="P:Remotion.Mixins.Globalization.MixedMultiLingualResources.Resolver"><summary>
            Gets the resolver object used by the methods of this class.
            </summary></member><member name="T:Remotion.Mixins.Globalization.MixedResourceManagerResolver`1"><summary>
            Extends <see cref="T:Remotion.Globalization.ResourceManagerResolver`1" /> to detect resources added via mixins.
            </summary></member><member name="T:Remotion.Mixins.MixerTools.Mixer"><summary>
            Provides functionality for pre-generating mixed types and saving them to disk to be later loaded via 
            <see cref="M:Remotion.Mixins.CodeGeneration.ConcreteTypeBuilder.LoadAssemblyIntoCache(System.Reflection.Assembly)" />.
            </summary></member><member name="T:Remotion.Mixins.Utilities.CodeGenerationStatistics"><summary>
            Provides statistical information about the resources used by the mixin code generation engine.
            </summary></member><member name="T:Remotion.Mixins.Utilities.ConstraintBasedGenericParameterInstantiator"><summary>
            Deduces a possible instantiation for a generic type parameter based on the constraints placed on the parameter.
            </summary></member><member name="T:Remotion.Mixins.Utilities.MixedObjectInstantiationScope"><summary>
            Allows users to specify configuration settings when a mixed type is instantiated.
            </summary></member><member name="M:Remotion.Mixins.Utilities.MixedObjectInstantiationScope.#ctor"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.Utilities.MixedObjectInstantiationScope" /> class, setting it as the
            <see cref="P:Remotion.Mixins.Utilities.MixedObjectInstantiationScope.Current" /> scope object. The previous scope is restored when this scope's <see cref="M:Remotion.Mixins.Utilities.MixedObjectInstantiationScope.Dispose" />
            method is called, e.g. from a <c>using</c> statement. The new scope will not contain any pre-created mixin instances.
            </summary></member><member name="M:Remotion.Mixins.Utilities.MixedObjectInstantiationScope.#ctor(System.Object[])"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.Utilities.MixedObjectInstantiationScope" /> class, setting it as the
            <see cref="P:Remotion.Mixins.Utilities.MixedObjectInstantiationScope.Current" /> scope object. The previous scope is restored when this scope's <see cref="M:Remotion.Mixins.Utilities.MixedObjectInstantiationScope.Dispose" />
            method is called, e.g. from a <c>using</c> statement. The new scope contains the specified pre-created mixin instances.
            </summary><param name="suppliedMixinInstances">The mixin instances to be used when a mixed type is instantiated from within the scope. The objects
            specified must fit the mixin types specified in the mixed type's configuration. Users can also specify instances for a subset of the mixin
            types, the remaining ones will be created on demand.</param></member><member name="M:Remotion.Mixins.Utilities.MixedObjectInstantiationScope.Dispose"><summary>
            When called for the first time, restores the <see cref="T:Remotion.Mixins.Utilities.MixedObjectInstantiationScope" /> that was in effect when this scope was created.
            </summary></member><member name="P:Remotion.Mixins.Utilities.MixedObjectInstantiationScope.SuppliedMixinInstances"><summary>
            The mixin instances to be used when a mixed class is instantiated from within the scope.
            </summary></member><member name="M:Remotion.Reflection.ConstructorLookupInfo.CreateValueTypeDefaultDelegate(System.Type,System.Type)"><summary>
            Since value types do not have default constructors, an activation with zero parameters must create the object with the initobj IL opcode.
            </summary></member><member name="M:Remotion.Mixins.Utilities.MixinReflector.GetClassContextFromConcreteType(System.Type)"><summary>
            Returns the <see cref="T:Remotion.Mixins.Context.ClassContext" /> that was used as the mixin configuration when the given <paramref name="concreteMixedType" />
            was created by the <see cref="T:Remotion.Mixins.TypeFactory" />.
            </summary><param name="concreteMixedType">The type whose mixin configuration is to be retrieved.</param></member><member name="M:Remotion.Mixins.Utilities.MixinReflector.GetOrderedMixinTypesFromConcreteType(System.Type)"><summary>
            Returns the types of the mixins that were used to generate <paramref name="concreteMixedType" />. The mixins are ordered and open generic 
            mixins are closed exactly as used by the code generation (and as defined by <see cref="P:Remotion.Mixins.Definitions.TargetClassDefinition.Mixins" />.
            </summary><param name="concreteMixedType">The concrete mixed type whose mixins should be retrieved.</param></member><member name="T:Remotion.Mixins.Utilities.MixinTypeCloser"><summary>
            Takes a mixin type and closes it when it is a generic type definitions, inferring its generic arguments from the mixin's target type and the
            parameters' constraints.
            </summary></member><member name="T:Remotion.Mixins.Utilities.UncastableEnumerableWrapper`1"><summary>
            Wraps an enumerable object so that the wrapped object cannot be cast back to its original type.
            </summary></member><member name="T:Remotion.Mixins.Validation.ValidationException"><summary>
            Thrown when there is an error in the mixin configuration which is detected during validation of the configuration. The problem prevents
            code being generated from the configuration. See also <see cref="T:Remotion.Mixins.ConfigurationException" />.
            </summary></member><member name="M:Remotion.Mixins.Validation.ValidationException.#ctor(System.String,Remotion.Mixins.Validation.IValidationLog)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.Validation.ValidationException" /> class.
            </summary><param name="message">The exception message.</param><param name="log">The validation log.</param></member><member name="M:Remotion.Mixins.Validation.ValidationException.#ctor(Remotion.Mixins.Validation.IValidationLog)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.Validation.ValidationException" /> class and creates a descriptive message from the validation log.
            </summary><param name="log">The validation log log.</param></member><member name="M:Remotion.Mixins.Validation.ValidationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.Validation.ValidationException" /> class during deserialization.
            </summary><param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> that holds the serialized object data about the exception being thrown.</param><param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> that contains contextual information about the source or destination.</param></member><member name="T:Remotion.Mixins.ConfigurationException"><summary>
            Thrown when there is a severe error in the mixin configuration which is detected during configuration analysis. The problem prevents
            the configuration from being fully analyzed. See also <see cref="T:Remotion.Mixins.Validation.ValidationException" />.
            </summary></member><member name="M:Remotion.Mixins.ConfigurationException.#ctor(System.String)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.ConfigurationException" /> class.
            </summary><param name="message">The exception message.</param></member><member name="M:Remotion.Mixins.ConfigurationException.#ctor(System.String,System.Exception)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.ConfigurationException" /> class.
            </summary><param name="message">The exception message.</param><param name="innerException">The inner exception.</param></member><member name="M:Remotion.Mixins.ConfigurationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Mixins.ConfigurationException" /> class during deserialization.
            </summary><param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> that holds the serialized object data about the exception being thrown.</param><param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> that contains contextual information about the source or destination.</param></member><member name="T:Remotion.Mixins.MixinConfiguration"><summary>
            Constitutes a mixin configuration (ie. a set of classes associated with mixins) and manages the mixin configuration for the current thread
            (actually: <see cref="T:Remotion.Context.SafeContext" />). 
            Instances of this class are immutable, i.e., their content is initialized on construction and cannot be changed later on.
            </summary></member><member name="M:Remotion.Mixins.MixinConfiguration.SetActiveConfiguration(Remotion.Mixins.MixinConfiguration)"><summary>
            Sets the active mixin configuration configuration for the current thread.
            </summary><param name="configuration">The configuration to be set, can be <see langword="null" />.</param></member><member name="M:Remotion.Mixins.MixinConfiguration.BuildNew"><summary>
            Returns a <see cref="T:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder" /> object to build a new <see cref="T:Remotion.Mixins.MixinConfiguration" />.
            </summary></member><member name="M:Remotion.Mixins.MixinConfiguration.BuildFrom(Remotion.Mixins.MixinConfiguration)"><summary>
            Returns a <see cref="T:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder" /> object to build a new <see cref="T:Remotion.Mixins.MixinConfiguration" /> which inherits data from a 
            <paramref name="parentConfiguration" />. This method indirectly creates a copy of the <paramref name="parentConfiguration" />. Use 
            <see cref="M:Remotion.Mixins.MixinConfiguration.BuildNew" /> to avoid the costs of copying.
            </summary><param name="parentConfiguration">A <see cref="T:Remotion.Mixins.MixinConfiguration" /> whose data should be inherited from the built
            <see cref="T:Remotion.Mixins.MixinConfiguration" />.</param></member><member name="M:Remotion.Mixins.MixinConfiguration.BuildFromActive"><summary>
            Returns a <see cref="T:Remotion.Mixins.Context.FluentBuilders.MixinConfigurationBuilder" /> object to build a new <see cref="T:Remotion.Mixins.MixinConfiguration" /> which inherits data from the
            <see cref="P:Remotion.Mixins.MixinConfiguration.ActiveConfiguration" />. This method indirectly creates a copy of the <see cref="P:Remotion.Mixins.MixinConfiguration.ActiveConfiguration" />. Use <see cref="M:Remotion.Mixins.MixinConfiguration.BuildNew" /> 
            to avoid the costs of copying.
            </summary></member><member name="M:Remotion.Mixins.MixinConfiguration.#ctor"><summary>
            Initializes an empty mixin configuration.
            </summary></member><member name="M:Remotion.Mixins.MixinConfiguration.#ctor(Remotion.Mixins.Context.ClassContextCollection)"><summary>
            Initializes a non-empty mixin configuration.
            </summary><param name="classContexts">The class contexts to be held by this <see cref="T:Remotion.Mixins.MixinConfiguration" />.</param></member><member name="M:Remotion.Mixins.MixinConfiguration.GetContext(System.Type)"><summary>
            Returns a <see cref="T:Remotion.Mixins.Context.ClassContext" /> for the given target type, or <see langword="null" /> if the type is not configured in this 
            <see cref="T:Remotion.Mixins.MixinConfiguration" />.
            </summary><param name="targetOrConcreteType">Base type for which a context should be returned or a concrete mixed type.</param></member><member name="M:Remotion.Mixins.MixinConfiguration.GetContextForce(System.Type)"><summary>
            Returns a <see cref="T:Remotion.Mixins.Context.ClassContext" /> for the given target type, generating a trivial default <see cref="T:Remotion.Mixins.Context.ClassContext" /> for types that are
            not configured in this <see cref="T:Remotion.Mixins.MixinConfiguration" />.
            </summary><param name="targetOrConcreteType">Base type for which a context should be returned or a concrete mixed type.</param></member><member name="M:Remotion.Mixins.MixinConfiguration.EnterScope"><summary>
            Temporarily replaces the mixin configuration associated with the current thread (actually <see cref="T:Remotion.Context.SafeContext" />) with this 
            <see cref="T:Remotion.Mixins.MixinConfiguration" />. The original configuration will be restored when the returned object's <see cref="M:System.IDisposable.Dispose" /> 
            method is called.
            </summary></member><member name="M:Remotion.Mixins.MixinConfiguration.Validate"><summary>
            Validates the whole configuration.
            </summary></member><member name="M:Remotion.Mixins.MixinConfiguration.ResolveCompleteInterface(System.Type)"><summary>
            Resolves the given interface into a class context.
            </summary><param name="interfaceType">The interface type to be resolved.</param></member><member name="M:Remotion.Mixins.MixinConfiguration.GetMasterConfiguration"><summary>
            Gets the master <see cref="T:Remotion.Mixins.MixinConfiguration" />. The master configuration is the default <see cref="T:Remotion.Mixins.MixinConfiguration" /> used whenever a 
            thread first accesses its <see cref="P:Remotion.Mixins.MixinConfiguration.ActiveConfiguration" />. If no master configuration has been set via <see cref="M:Remotion.Mixins.MixinConfiguration.SetMasterConfiguration(Remotion.Mixins.MixinConfiguration)" />,
            a default configuration will be built by <see cref="M:Remotion.Mixins.Context.DeclarativeConfigurationBuilder.BuildDefaultConfiguration" />.
            </summary></member><member name="M:Remotion.Mixins.MixinConfiguration.SetMasterConfiguration(Remotion.Mixins.MixinConfiguration)"><summary>
            Sets the master <see cref="T:Remotion.Mixins.MixinConfiguration" />. The master configuration is the default <see cref="T:Remotion.Mixins.MixinConfiguration" /> used whenever a 
            thread first accesses its <see cref="P:Remotion.Mixins.MixinConfiguration.ActiveConfiguration" />. If the master configuration is set to <see langword="null" />, the next call
            to <see cref="M:Remotion.Mixins.MixinConfiguration.GetMasterConfiguration" /> (or the next thread first accessing its <see cref="P:Remotion.Mixins.MixinConfiguration.ActiveConfiguration" />) will trigger a new
            default configuration to be built.
            </summary><param name="newMasterConfiguration">The <see cref="T:Remotion.Mixins.MixinConfiguration" /> to be used as the new master configuration.</param></member><member name="M:Remotion.Mixins.MixinConfiguration.ResetMasterConfiguration"><summary>
            Causes the master mixin configuration to be rebuilt from scratch the next time a thread accesses its mixin configuration for the first time.
            </summary></member><member name="P:Remotion.Mixins.MixinConfiguration.HasActiveConfiguration"><summary>
            Gets a value indicating whether this thread has an active mixin configuration.
            </summary></member><member name="P:Remotion.Mixins.MixinConfiguration.ActiveConfiguration"><summary>
            Gets the active mixin configuration for the current thread (actually <see cref="T:Remotion.Context.SafeContext" />).
            </summary></member><member name="P:Remotion.Mixins.MixinConfiguration.ClassContexts"><summary>
            Gets the class contexts currently stored in this <see cref="T:Remotion.Mixins.MixinConfiguration" />. Only contexts that have been explicitly added for classes
            are returned.
            </summary></member><member name="M:Remotion.Mixins.MixinConfigurationScope.System#IDisposable#Dispose"><summary>
            When called for the first time, restores the <see cref="T:Remotion.Mixins.MixinConfiguration" /> that was the <see cref="P:Remotion.Mixins.MixinConfiguration.ActiveConfiguration" /> for the current
            thread (<see cref="T:Remotion.Context.SafeContext" />) before this object was constructed.
            </summary></member><member name="T:Remotion.Mixins.MixinTargetMockUtility"><summary>
            Provides methods that support isolated testing of mixins by initializing them with mock versions of their TThis and TBase parameters.
            </summary></member><member name="M:Remotion.Mixins.MixinTargetMockUtility.MockMixinTarget``2(Remotion.Mixins.Mixin{``0,``1},``0,``1)"><summary>
            Mocks the target of the given mixin instance by setting or replacing its <see cref="P:Remotion.Mixins.Mixin`1.This" /> and
            <see cref="P:Remotion.Mixins.Mixin`2.Base" /> properties to/with the given mocks.
            </summary><param name="mixin">The mixin whose target is to be mocked.</param><param name="thisMock">The mock object to use for the mixin's <see cref="P:Remotion.Mixins.Mixin`1.This" /> property.</param><param name="baseMock">The mock object to use for the mixin's <see cref="P:Remotion.Mixins.Mixin`2.Base" /> property.</param></member><member name="M:Remotion.Mixins.MixinTargetMockUtility.MockMixinTarget``1(Remotion.Mixins.Mixin{``0},``0)"><summary>
            Mocks the target of the given mixin instance by setting or replacing its <see cref="P:Remotion.Mixins.Mixin`1.This" /> property to/with the given mocks.
            </summary><param name="mixin">The mixin whose target is to be mocked.</param><param name="thisMock">The mock object to use for the mixin's <see cref="P:Remotion.Mixins.Mixin`1.This" /> property.</param></member><member name="M:Remotion.Mixins.MixinTargetMockUtility.CreateMixinWithMockedTarget``3(``1,``2,System.Object[])"><summary>
            Creates a mixin with a mocked target object.
            </summary><param name="thisMock">The mock object to use for the mixin's <see cref="P:Remotion.Mixins.Mixin`1.This" /> property.</param><param name="baseMock">The mock object to use for the mixin's <see cref="P:Remotion.Mixins.Mixin`2.Base" /> property.</param><param name="args">The constructor arguments to be used when instantiating the mixin.</param></member><member name="M:Remotion.Mixins.MixinTargetMockUtility.CreateMixinWithMockedTarget``2(``1,System.Object[])"><summary>
            Creates a mixin with a mocked target object.
            </summary><param name="thisMock">The mock object to use for the mixin's <see cref="P:Remotion.Mixins.Mixin`1.This" /> property.</param><param name="args">The constructor arguments to be used when instantiating the mixin.</param></member><member name="M:Remotion.Mixins.MixinTargetMockUtility.MockMixinTargetAfterDeserialization``1(Remotion.Mixins.Mixin{``0},``0)"><summary>
            Simulates the mixin initialization occurring after deserialization, mocking its <see cref="P:Remotion.Mixins.Mixin`1.This" /> property and invoking its
            <see cref="M:Remotion.Mixins.Mixin`1.OnDeserialized" /> method.
            </summary><param name="mixin">The mixin to simulate deserialization with.</param><param name="thisMock">The mock object to use for the mixin's <see cref="P:Remotion.Mixins.Mixin`1.This" /> property.</param></member><member name="M:Remotion.Mixins.MixinTargetMockUtility.MockMixinTargetAfterDeserialization``2(Remotion.Mixins.Mixin{``0,``1},``0,``1)"><summary>
            Simulates the mixin initialization occurring after deserialization, mocking its <see cref="P:Remotion.Mixins.Mixin`2.Base" /> property and invoking its
            <see cref="M:Remotion.Mixins.Mixin`1.OnDeserialized" /> method.
            </summary><param name="mixin">The mixin to simulate deserialization with.</param><param name="thisMock">The mock object to use for the mixin's <see cref="P:Remotion.Mixins.Mixin`1.This" /> property.</param><param name="baseMock">The mock object to use for the mixin's <see cref="P:Remotion.Mixins.Mixin`2.Base" /> property.</param></member><member name="T:Remotion.Mixins.MixinTypeUtility"><summary>
            Provides a central point for reflectively working with mixin targets and generated concrete types.
            </summary></member><member name="M:Remotion.Mixins.MixinTypeUtility.IsGeneratedConcreteMixedType(System.Type)"><summary>
            Determines whether the given <paramref name="type" /> is a concrete, mixed type generated by the mixin infrastructure.
            </summary><param name="type">The type to be checked.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.IsGeneratedByMixinEngine(System.Type)"><summary>
            Determines whether the given <paramref name="type" /> was generated by the mixin infrastructure.
            </summary><param name="type">The type to be checked.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.GetConcreteMixedType(System.Type)"><summary>
            Gets the concrete type for a given <paramref name="targetOrConcreteType" /> which contains all mixins currently configured for the type.
            </summary><param name="targetOrConcreteType">The base type for which to retrieve a concrete type, or a concrete type.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.GetUnderlyingTargetType(System.Type)"><summary>
            Gets the underlying target type for a given <paramref name="targetOrConcreteType" />.
            </summary><param name="targetOrConcreteType">The type to get the underlying target type for.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.IsAssignableFrom(System.Type,System.Type)"><summary>
            Determines whether the given <paramref name="targetOrConcreteType" /> would be assignable to <paramref name="baseOrInterface" /> after all mixins
            currently configured for the type have been taken into account.
            </summary><param name="baseOrInterface">The base or interface to assign to.</param><param name="targetOrConcreteType">The type to check for assignment compatibility to <paramref name="baseOrInterface" />. This must not be a generic
            type definition.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.HasMixins(System.Type)"><summary>
            Determines whether the specified <paramref name="targetOrConcreteType" /> is associated with any mixins.
            </summary><param name="targetOrConcreteType">The type to check for mixins.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.HasMixin(System.Type,System.Type)"><summary>
            Determines whether the specified <paramref name="targetOrConcreteType" /> is associated with a mixin of the given <paramref name="mixinType" />.
            </summary><param name="targetOrConcreteType">The type to check.</param><param name="mixinType">The mixin type to check for.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.GetAscribableMixinType(System.Type,System.Type)"><summary>
            Determines whether the specified <paramref name="targetOrConcreteType" /> is associated with a mixin that can be ascribed to the given
            <paramref name="mixinType" /> and returns the respective mixin type.
            </summary><param name="targetOrConcreteType">The type to check.</param><param name="mixinType">The mixin type to check for.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.HasAscribableMixin(System.Type,System.Type)"><summary>
            Determines whether the specified <paramref name="targetOrConcreteType" /> is associated with a mixin that can be ascribed to the given
            <paramref name="mixinType" />.
            </summary><param name="targetOrConcreteType">The type to check.</param><param name="mixinType">The mixin type to check for.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.GetMixinTypes(System.Type)"><summary>
            Gets the mixin types associated with the given <paramref name="targetOrConcreteType" />.
            </summary><param name="targetOrConcreteType">The type to check for mixin types.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.GetMixinTypesExact(System.Type)"><summary>
            Gets the mixin types associated with the given <paramref name="targetOrConcreteType" />, ordered and closed (if generic) exactly as they are 
            held by instances of the concrete type.
            </summary><param name="targetOrConcreteType">The type to check for mixin types.</param></member><member name="M:Remotion.Mixins.MixinTypeUtility.CreateInstance(System.Type,System.Object[])"><summary>
            Creates an instance of the type returned by <see cref="M:Remotion.Mixins.MixinTypeUtility.GetConcreteMixedType(System.Type)" /> for the given <paramref name="type" />.
            </summary><param name="type">The type for whose concrete type to create an instance.</param><param name="args">The arguments to be passed to the constructor.</param></member><member name="T:Remotion.Reflection.CodeGeneration.DPExtensions.AttributeGenerator"><summary>
            Generates attribute data given as <see cref="T:System.Reflection.CustomAttributeData" /> to an <see cref="T:Remotion.Reflection.CodeGeneration.IAttributableEmitter" />.
            </summary></member><member name="T:Remotion.Reflection.CodeGeneration.DPExtensions.TypedMethodInvocationExpression"><summary>
            Replacement for <see cref="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.MethodInvocationExpression" /> with value type support.
            </summary></member><member name="T:Remotion.Reflection.CodeGeneration.DPExtensions.BlockStatement"><summary>
            Groups several statements together in a block statement. When the block is emitted, all statements are emitted in the order in which they were
            given to the <see cref="T:Remotion.Reflection.CodeGeneration.DPExtensions.BlockStatement" />.
            </summary></member><member name="T:Remotion.Reflection.CodeGeneration.DPExtensions.CastClassExpression"><summary>
            Expression that emits a <see cref="F:System.Reflection.Emit.OpCodes.Castclass" /> opcode, thus converting another expression to a given target type. The 
            <see cref="F:System.Reflection.Emit.OpCodes.Castclass" /> opcode is emitted without any checks, so this expression must only be used when that opcode is allowed.
            </summary></member><member name="M:Remotion.Reflection.CodeGeneration.IClassEmitter.CreateFullNamedMethodOverride(System.Reflection.MethodInfo)"><summary>
            Creates a full-named method override, i.e. a method override with the same visibility as whose name includes the name of the base method's
            declaring type, similar to an explicit interface implementation.
            </summary><param name="baseMethod">The base method to override.</param></member><member name="M:Remotion.Reflection.CodeGeneration.IClassEmitter.CreatePublicInterfaceMethodImplementation(System.Reflection.MethodInfo)"><summary>
            Creates a public interface method implementation, i.e. an interface implementation with public visibility whose name equals the name
            of the interface method (like a C# implicit interface implementation).
            </summary><param name="interfaceMethod">The interface method to implement.</param></member><member name="M:Remotion.Reflection.CodeGeneration.IClassEmitter.CreateNestedClass(System.String,System.Type,System.Type[])"><summary>
            Creates a nested class within the type emitted by this <see cref="T:Remotion.Reflection.CodeGeneration.IClassEmitter" />.
            </summary><param name="typeName">The name of the nested type.</param><param name="baseType">The base type of the nested type.</param><param name="interfaces">The interfaces to be implemented by the nested type.</param></member><member name="M:Remotion.Reflection.CodeGeneration.IClassEmitter.CreateNestedClass(System.String,System.Type,System.Type[],System.Reflection.TypeAttributes)"><summary>
            Creates a nested type within the type emitted by this <see cref="T:Remotion.Reflection.CodeGeneration.IClassEmitter" />.
            </summary><param name="typeName">The name of the nested type.</param><param name="baseType">The base type of the nested type.</param><param name="interfaces">The interfaces to be implemented by the nested type.</param><param name="flags">The <see cref="T:System.Reflection.TypeAttributes" /> to use for the nested type.</param></member><member name="M:Remotion.Reflection.CodeGeneration.CustomClassEmitter.CreateFullNamedMethodOverride(System.Reflection.MethodInfo)"></member><member name="M:Remotion.Reflection.CodeGeneration.CustomClassEmitter.CreatePublicInterfaceMethodImplementation(System.Reflection.MethodInfo)"></member><member name="M:Remotion.Reflection.CodeGeneration.CustomClassEmitter.CreateNestedClass(System.String,System.Type,System.Type[])"></member><member name="M:Remotion.Reflection.CodeGeneration.CustomClassEmitter.CreateNestedClass(System.String,System.Type,System.Type[],System.Reflection.TypeAttributes)"></member><member name="T:Remotion.Reflection.CodeGeneration.GeneratedMethodWrapperAttribute"><summary>
            Marks a generated method as a public wrapper for another method.
            </summary></member><member name="T:Remotion.Reflection.CodeGeneration.MethodWrapperEmitter"><summary>
            Builds the IL code needed to wrap a method call.
            </summary></member><member name="T:Remotion.Reflection.SignatureStringBuilding.EventSignatureStringBuilder"><summary>
            Builds a string representing the signature of a given <see cref="T:System.Reflection.EventInfo" /> object. This is similar to the string returned by 
            <see cref="M:System.Object.ToString" /> as it contains a textual representation of the event's type.
            It's different from <see cref="M:System.Object.ToString" />, though, because it does not contain the event's name.
            </summary></member><member name="T:Remotion.Reflection.SignatureStringBuilding.MemberSignatureStringBuilderHelper"><summary>
            Provides a common utility class for classes building strings representing the signature of a given <see cref="T:System.Reflection.MemberInfo" /> object.
            </summary></member><member name="T:Remotion.Reflection.SignatureStringBuilding.MethodSignatureStringBuilder"><summary>
            Builds a string representing the signature of a given <see cref="T:System.Reflection.MethodInfo" /> object. This is similar to the string returned by 
            <see cref="M:System.Object.ToString" /> as it contains a textual representation of the method's return type, parameter types (without parameter names),
            and generic parameter types. It's different from <see cref="M:System.Object.ToString" />, though, because it does not contain the method's name or 
            generic parameter names.
            </summary></member><member name="T:Remotion.Reflection.SignatureStringBuilding.PropertySignatureStringBuilder"><summary>
            Builds a string representing the signature of a given <see cref="T:System.Reflection.PropertyInfo" /> object. This is similar to the string returned by 
            <see cref="M:System.Object.ToString" /> as it contains a textual representation of the property's type and parameter types (without parameter names).
            It's different from <see cref="M:System.Object.ToString" />, though, because it does not contain the property's name.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.AssemblyFinder"><summary>
            Finds assemblies using an <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder" /> and an <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader" />. The <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder" /> is
            used to find a set of root assemblies, the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.AssemblyFinder" /> automatically traverses the assembly references to (transitively)
            find all referenced assemblies as well. The root assemblies and referenced assemblies are loaded with the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader" />.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IAssemblyFinder"><summary>
            Provides an interface for classes that find assemblies.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IAssemblyFinder.FindAssemblies"><summary>
            Finds assemblies as defined by implementers of this interface.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyFinding.AssemblyFinder.#ctor(Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder,Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.AssemblyFinder" /> class.
            </summary><param name="rootAssemblyFinder">The <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder" /> to use for finding the root assemblies.</param><param name="assemblyLoader">The <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader" /> to use for loading the assemblies found.</param></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyFinding.AssemblyFinder.FindAssemblies"><summary>
            Uses the <see cref="P:Remotion.Reflection.TypeDiscovery.AssemblyFinding.AssemblyFinder.RootAssemblyFinder" /> to find root assemblies and returns them together with all directly or indirectly referenced 
            assemblies. The assemblies are loaded via the <see cref="P:Remotion.Reflection.TypeDiscovery.AssemblyFinding.AssemblyFinder.AssemblyLoader" />.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.AssemblyNameSpecification"><summary>
            Holds an <see cref="T:System.Reflection.AssemblyName" /> for the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.NamedRootAssemblyFinder" /> as well as a flag indicating whether to 
            include referenced assemblies.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.CompositeRootAssemblyFinder"><summary>
            Composes several <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder" /> instances into one, combining all results and eliminating duplicates in the process.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder"><summary>
            Defines an interface for classes finding the root assemblies for type discovery.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder.FindRootAssemblies(Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader)"><summary>
            Finds root assemblies using the given <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader" />.
            </summary><param name="loader">The <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader" /> to load the assemblies with.</param></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FilePatternRootAssemblyFinder"><summary>
            Finds the root assemblies by looking up and loading files matching the given patterns in a specified directory.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FilePatternRootAssemblyFinder.FileDescription"><summary>
            Holds a file path string as well as a flag indicating whether referenced assemblies should be followed or not. Equality comparisons of
            instances only check the file name, not the flag - this simplifies the algorithm to exclude file names in 
            <see cref="M:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FilePatternRootAssemblyFinder.ConsolidateSpecifications" />.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FilePatternSpecification"><summary>
            Defines a file pattern for the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FilePatternRootAssemblyFinder" /> as well as how to interpret that pattern.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FilePatternSpecificationKind"><summary>
            Defines how a file pattern specification should be interpreted.
            </summary></member><member name="F:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FilePatternSpecificationKind.IncludeNoFollow"><summary>
            The files described by the pattern should be included, but referenced assemblies should not be followed.
            </summary></member><member name="F:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FilePatternSpecificationKind.IncludeFollowReferences"><summary>
            The files described by the pattern should be included, and their referenced assemblies should be followed.
            </summary></member><member name="F:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FilePatternSpecificationKind.Exclude"><summary>
            The files described by the pattern should be excluded. This removes any files previously included, but it does not affect any files
            included by a subsequent specification.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FileSystemSearchService"><summary>
            Implements the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IFileSearchService" /> using the <see cref="T:System.IO.Directory" /> class.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IFileSearchService"><summary>
            Provides a common interface for classes allowing to search for files using a search pattern.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.FixedRootAssemblyFinder"><summary>
            Implements <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder" /> by returning a fixed set of root assemblies.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.NamedRootAssemblyFinder"><summary>
            Loads root assemblies by assembly names.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.RootAssembly"><summary>
            Identifies a root assembly found by an implementation of <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.IRootAssemblyFinder" />. This includes the assembly itself as well as a flag
            indicating whether to follow the assembly's references or not.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.SearchPathRootAssemblyFinder"><summary>
            Finds the root assemblies by looking up and loading all DLL and EXE files in the assembly search path.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyFinding.SearchPathRootAssemblyFinder.CreateForCurrentAppDomain(System.Boolean)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinding.SearchPathRootAssemblyFinder" /> type to look for assemblies within the current
            <see cref="T:System.AppDomain" />'s <see cref="P:System.AppDomain.BaseDirectory" /> as well as its <see cref="P:System.AppDomain.RelativeSearchPath" />.
            </summary><param name="considerDynamicDirectory">Specifies whether to search the <see cref="P:System.AppDomain.DynamicDirectory" /> as well as the base
            directory.</param></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter"><summary>
            Filters the assemblies loaded during type discovery by name, excluding those whose names resemble system assemblies or assemblies
            generated by the mixin engine. In addition, assemblies that have the <see cref="T:Remotion.Reflection.TypeDiscovery.NonApplicationAssemblyAttribute" /> defined are also excluded.
            Note that assemblies have to be loaded in memory in order to check whether the attribute is present. This will also lock the assembly files.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoaderFilter"><summary>
            Provides an interface for filtering the assemblies loaded by the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.FilteringAssemblyLoader" />.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoaderFilter.ShouldConsiderAssembly(System.Reflection.AssemblyName)"><summary>
            Determines whether the assembly of the given name should be considered for inclusion by the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.FilteringAssemblyLoader" />.
            </summary><param name="assemblyName">The name of the assembly to be checked.</param></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoaderFilter.ShouldIncludeAssembly(System.Reflection.Assembly)"><summary>
            Determines whether the given assembly should be included in the list of assemblies returned by the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.FilteringAssemblyLoader" />.
            </summary><param name="assembly">The assembly to be checked.</param></member><member name="F:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter.Instance"><summary>
            Returns the global instance of this filter. There is only this one instance of the filter in an application.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter.Reset"><summary>
            Resets the name filter to the default names, removing any that have been added via <see cref="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter.AddIgnoredAssembly(System.String)" />.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter.AddIgnoredAssembly(System.String)"><summary>
            Adds the given regular expression to the list of assembly names to be excluded.
            </summary><param name="simpleNameRegularExpression">A regular expression matching the simple names of assemblies to be excluded.</param></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter.ShouldConsiderAssembly(System.Reflection.AssemblyName)"><summary>
            Determines whether the assembly of the given name should be considered for inclusion by the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.FilteringAssemblyLoader" />.
            An assembly is only considered for inclusion if it is not identified as a system assembly by matching its name against the 
            <see cref="P:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter.SystemAssemblyMatchExpression" />.
            </summary><param name="assemblyName">The name of the assembly to be checked.</param></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter.ShouldIncludeAssembly(System.Reflection.Assembly)"><summary>
            Determines whether the given assembly should be included in the list of assemblies returned by the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.FilteringAssemblyLoader" />.
            An assembly is only included if it does not have the <see cref="T:Remotion.Reflection.TypeDiscovery.NonApplicationAssemblyAttribute" /> defined.
            </summary><param name="assembly">The assembly to be checked.</param></member><member name="P:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter.SystemAssemblyMatchExpression"><summary>
            Gets the regular expression string applied to assembly names in order to check whether they are system assemblies.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.AssemblyLoaderException"><summary>
            Thrown when the automatic assembly loading performed by an implementation of <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader" /> yields an error during a
            load operation.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.AttributeAssemblyLoaderFilter"><summary>
            Filters the assemblies loaded during type discovery by custom attributes, including only those which have a given attribute defined. 
            Note that the assemblies have to be loaded in memory in order to check whether the attribute is present. This will also lock those assembly 
            files that are rejected.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.AttributeAssemblyLoaderFilter.#ctor(System.Type)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.AttributeAssemblyLoaderFilter" /> class.
            </summary><param name="attributeType">The attribute type to filter assemblies with.</param></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.AttributeAssemblyLoaderFilter.ShouldConsiderAssembly(System.Reflection.AssemblyName)"><summary>
            Always returns <see langword="true" />; all filtering is performed by <see cref="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.AttributeAssemblyLoaderFilter.ShouldIncludeAssembly(System.Reflection.Assembly)" />.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.AttributeAssemblyLoaderFilter.ShouldIncludeAssembly(System.Reflection.Assembly)"><summary>
            Determines whether the assembly of the given name should be considered for inclusion by the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.FilteringAssemblyLoader" />.
            Assemblies are considered only if the assembly has the <see cref="P:Remotion.Reflection.TypeDiscovery.AssemblyLoading.AttributeAssemblyLoaderFilter.AttributeType" /> defined.
            </summary><param name="assembly">The assembly to be checked.</param></member><member name="P:Remotion.Reflection.TypeDiscovery.AssemblyLoading.AttributeAssemblyLoaderFilter.AttributeType"><summary>
            Gets the attribute type used for filtering. Only assemblies that have this attribute defined are included.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.FilteringAssemblyLoader"><summary>
            Loads assemblies and applies <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoaderFilter">filters</see> before returning them.
            Assemblies are loaded from a file path by first getting their corresponding <see cref="T:System.Reflection.AssemblyName" /> and then loading the assembly with that 
            name.
            This means that only assemblies from the assembly search path (application directory, dynamic directory, GAC) can be loaded, and that GAC 
            assemblies are preferred. The advantage of this load mode is that assemblies are loaded exactly the same way as if loaded directly by .NET:
            they are always loaded into the correct context and references are resolved correctly.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader"><summary>
            Defines an interface for classes that can load assemblies from a file path.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader.TryLoadAssembly(System.String)"><summary>
            Tries to load an assembly from the given <paramref name="filePath" />, returning <see langword="null" /> if the file exists but is no assembly.
            </summary><param name="filePath">The file path to load the assembly from.</param></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoader.TryLoadAssembly(System.Reflection.AssemblyName,System.String)"><summary>
            Tries the load an assembly from the given <paramref name="assemblyName" />, returning <see langword="null" /> if the file exists but is no 
            assembly.
            </summary><param name="assemblyName">The assembly name to load the assembly from.</param><param name="context">Context information to be included with the exception message when the assembly cannot be found or an unexpected 
            exception occurs while loading it.</param></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.LoadAllAssemblyLoaderFilter"><summary>
            Provides an implementation of <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.IAssemblyLoaderFilter" /> that loads all assemblies.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter"><summary>
            Filters the assemblies loaded during type discovery by name, excluding those whose names match a given regular expression. Whether to
            match the simple name or the full name can be specified.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter.#ctor(System.Text.RegularExpressions.Regex,Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter.MatchTargetKind)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter" /> class.
            </summary><param name="matchExpression">The expression to match against the assembly name.</param><param name="matchTarget">Specifies whether to match the full names or the simple names of assemblies against the 
            <paramref name="matchExpression" />.</param></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter.#ctor(System.String,Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter.MatchTargetKind)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter" /> class.
            </summary><param name="matchExpression">The expression to match against the assembly name. This is converted into a compiled, culture-invariant
            regular expression.</param><param name="matchTarget">Specifies whether to match the full names or the simple names of assemblies against the 
            <paramref name="matchExpression" />.</param></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter.ShouldConsiderAssembly(System.Reflection.AssemblyName)"><summary>
            Determines whether the assembly of the given name should be considered for inclusion by the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.FilteringAssemblyLoader" />.
            Assemblies are considered only if the assembly name does not match the <see cref="P:Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter.MatchExpressionString" />.
            </summary><param name="assemblyName">The name of the assembly to be checked.</param></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter.ShouldIncludeAssembly(System.Reflection.Assembly)"><summary>
            Always returns <see langword="true" />; all filtering is performed by <see cref="M:Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter.ShouldConsiderAssembly(System.Reflection.AssemblyName)" />.
            </summary></member><member name="P:Remotion.Reflection.TypeDiscovery.AssemblyLoading.RegexAssemblyLoaderFilter.MatchExpressionString"><summary>
            Gets a string representation of the regular expression the assemblies are matched against.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService"><summary>
            Provides an implementation of the <see cref="T:System.ComponentModel.Design.ITypeDiscoveryService" /> interface that uses an <see cref="P:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService.AssemblyFinder" /> to
            retrieve types. This class is created by <see cref="M:Remotion.Configuration.TypeDiscovery.TypeDiscoveryConfiguration.CreateCustomService" /> in the default configuration and
            is therefore the default <see cref="T:System.ComponentModel.Design.ITypeDiscoveryService" /> provided by <see cref="M:Remotion.Reflection.TypeDiscovery.ContextAwareTypeDiscoveryUtility.GetTypeDiscoveryService" />
            in the standard context.
            </summary></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService.#ctor(Remotion.Reflection.TypeDiscovery.AssemblyFinding.IAssemblyFinder)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService" /> class with a specific <see cref="P:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService.AssemblyFinder" />
            instance.
            </summary><param name="assemblyFinder">The assembly finder used by this service instance to retrieve types.</param></member><member name="M:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService.GetTypes(System.Type,System.Boolean)"><summary>
            Retrieves the list of types available in the assemblies found by the <see cref="P:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService.AssemblyFinder" /> specified in the constructor.
            </summary><param name="baseType">The base type to match. Can be null.</param><param name="excludeGlobalTypes">Indicates whether types from all referenced assemblies should be checked.</param></member><member name="P:Remotion.Reflection.TypeDiscovery.AssemblyFinderTypeDiscoveryService.AssemblyFinder"><summary>
            Gets the assembly finder used by this service to discover types. The service simply returns the types returned by the
            <see cref="M:System.Reflection.Assembly.GetTypes" /> method for the assemblies found by this object.
            </summary></member><member name="T:Remotion.Reflection.TypeDiscovery.NonApplicationAssemblyAttribute"><summary>
            Causes an assembly to be ignored by <see cref="T:Remotion.Reflection.TypeDiscovery.AssemblyLoading.ApplicationAssemblyLoaderFilter" /> (which is used by default by all re-motion components
            performing type discovery, such as re-store and Mixins).
            </summary></member><member name="T:Remotion.Reflection.BindableObjectMixinIntroducedPropertyInformation"><summary>
            Extends <see cref="T:Remotion.Reflection.MixinIntroducedPropertyInformation" /> with information about the concrete implementation property in the type generated by 
            the mixin engine.
            Note that this class is only temporay, used as long as BindableObjectGlobalizationService requires the concrete type and property in order to 
            work correctly.
            </summary></member><member name="T:Remotion.Reflection.MixinIntroducedPropertyInformation"><summary>
            Represents a mixin property that is introduced to its target classes.
            </summary></member><member name="T:Remotion.Reflection.DelegateSelector"><summary>
            A function that will create a delegate to call from <see cref="T:Remotion.Reflection.FuncInvoker`1" />.
            </summary><param name="delegateType"> Type of the delegate that will be created. </param></member><member name="T:Remotion.Reflection.DynamicMethodBasedMethodCallerFactory"><summary>
            Factory class for creating <see cref="T:System.Reflection.Emit.DynamicMethod" />-based wrapper delegates for <see cref="T:System.Reflection.MethodInfo" /> objects.
            </summary></member><member name="M:Remotion.Reflection.DynamicMethodBasedMethodCallerFactory.CreateMethodCallerDelegate(System.Reflection.MethodInfo,System.Type)"><summary>
            Creates a <see cref="T:System.Delegate" /> that can be used to invoke the method identified by the <paramref name="methodInfo" />.
            </summary><param name="methodInfo">The method to wrap.</param><param name="delegateType">
            The <see cref="T:System.Delegate" /> type. The signature must always include the instance-parameter as first parameter even if the 
            <paramref name="methodInfo" /> refers to a static method.
            </param></member><member name="T:Remotion.Reflection.DynamicParamList"><summary>
            Implements the <see cref="T:Remotion.Reflection.ParamList" /> class for scenarios where the number or types of parameters are chosen at runtime.
            </summary></member><member name="T:Remotion.Reflection.InheritanceHierarchyFilter"><summary>
            The <see cref="T:Remotion.Reflection.InheritanceHierarchyFilter" /> can be used to get all leaf classes within a deifned set of types passed into the 
            constructor.
            </summary></member><member name="T:Remotion.Reflection.InterfaceImplementationMethodInformation"><summary>
            Represents a method that implements a method declared by an interface. <see cref="M:Remotion.Reflection.InterfaceImplementationMethodInformation.Invoke(System.Object,System.Object[])" /> and <see cref="M:Remotion.Reflection.InterfaceImplementationMethodInformation.GetFastInvoker(System.Type)" /> call the method
            via the interface.
            </summary></member><member name="T:Remotion.Reflection.InterfaceImplementationPropertyInformation"><summary>
            Represents a property that implements a property declared by an interface. The accessors returned by <see cref="M:Remotion.Reflection.InterfaceImplementationPropertyInformation.GetGetMethod(System.Boolean)" /> and 
            <see cref="M:Remotion.Reflection.InterfaceImplementationPropertyInformation.GetSetMethod(System.Boolean)" /> will usually be instances <see cref="T:Remotion.Reflection.InterfaceImplementationMethodInformation" />, but since a property can
            add accessors not declared by the interface property, they don't have to be.
            </summary></member><member name="M:Remotion.Reflection.InterfaceImplementationPropertyInformation.GetGetMethod(System.Boolean)"><summary>
            Gets the get accessor for this <see cref="T:Remotion.Reflection.InterfaceImplementationPropertyInformation" />. If the interface declaring this 
            <see cref="T:Remotion.Reflection.InterfaceImplementationPropertyInformation" /> also declares the accessor, an <see cref="T:Remotion.Reflection.InterfaceImplementationMethodInformation" />
            for that accessor is returned. Otherwise, the <see cref="T:Remotion.Reflection.IMethodInformation" /> (if any) on the type implementing the interface is returned.
            </summary><param name="nonPublic">Indicates whether a non-public accessor method may also be returned. If the interface declares the accessor, 
            this flag has no effect since interface methods are always public. If only the implementation type declares the accessor, the flag is used to
            determine whether to return that accessor.</param></member><member name="M:Remotion.Reflection.InterfaceImplementationPropertyInformation.GetSetMethod(System.Boolean)"><summary>
            Gets the set accessor for this <see cref="T:Remotion.Reflection.InterfaceImplementationPropertyInformation" />. If the interface declaring this 
            <see cref="T:Remotion.Reflection.InterfaceImplementationPropertyInformation" /> also declares the accessor, an <see cref="T:Remotion.Reflection.InterfaceImplementationMethodInformation" />
            for that accessor is returned. Otherwise, the <see cref="T:Remotion.Reflection.IMethodInformation" /> (if any) on the type implementing the interface is returned.
            </summary><param name="nonPublic">Indicates whether a non-public accessor method may also be returned. If the interface declares the accessor, 
            this flag has no effect since interface methods are always public. If only the implementation type declares the accessor, the flag is used to
            determine whether to return that accessor.</param></member><member name="T:Remotion.Reflection.MemberSignatureEqualityComparer"><summary>
            Compares the signatures of two members for equality. Two member signatures compare equal if and only if both their member types and
            their signature strings (<see cref="N:Remotion.Reflection.SignatureStringBuilding" />) are equal. This comparer does not support comparing
            <see langword="null" /> values.
            </summary></member><member name="T:Remotion.Reflection.MethodInfoAdapter"><summary>
            Implements the <see cref="T:Remotion.Reflection.IMethodInformation" /> to wrap a <see cref="P:Remotion.Reflection.MethodInfoAdapter.MethodInfo" /> instance.
            </summary></member><member name="T:Remotion.Reflection.MethodResolver"><summary>
            Resolves a method from the given parameters.
            </summary></member><member name="M:Remotion.Reflection.MethodResolver.ResolveMethod(System.Type,System.String,System.String)"><summary>
            Resolves the method with the given name and signature. Cannot resolve closed generic methods.
            </summary><param name="declaringType">Declaring type of the method to be resolved.</param><param name="name">The simple name of the method to be resolved.</param><param name="signature">The signature string of the method to be resolved. This has the same format as what is produced by the 
            <see cref="M:System.Object.ToString" /> method implementation of <see cref="T:System.Reflection.MethodInfo" /> objects.</param></member><member name="T:Remotion.Reflection.MixinIntroducedMethodInformation"><summary>
            Represents a mixin method that is introduced to its target classes.
            </summary></member><member name="T:Remotion.Reflection.NullMethodInformation"><summary>
            Null-object implementation of <see cref="T:Remotion.Reflection.IMethodInformation" />.
            </summary></member><member name="T:Remotion.Reflection.NullPropertyInformation"><summary>
            Null-object implementation of <see cref="T:Remotion.Reflection.IMethodInformation" />.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`2"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`3"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`4"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`5"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`6"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`7"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`8"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`9"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`10"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`11"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`12"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`13"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`14"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`15"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`16"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`17"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`18"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`19"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`20"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.ParamListImplementation`1"><summary>
            Implements <see cref="T:Remotion.Reflection.ParamList" /> for a specific number of arguments. Use one of the <see cref="M:Remotion.Reflection.ParamList.Create" /> overloads to create
            instances of the <see cref="T:Remotion.Reflection.ParamList" /> implementation classes.
            </summary></member><member name="T:Remotion.Reflection.Properties`1"><summary>
             Allows the creation of the property of a class independent of a concrete class instance,
             in the form of an <see cref="T:Remotion.Reflection.Property`2" /> object.
             </summary></member><member name="T:Remotion.Reflection.Property`2"><summary>
            Wrapper around the property of a class, which allows the property to exist indepently of any
            concrete instance of the class.
            </summary></member><member name="T:Remotion.Reflection.PropertyInfoAdapter"><summary>
            Implements the <see cref="T:Remotion.Reflection.IPropertyInformation" /> interface to wrap a <see cref="P:Remotion.Reflection.PropertyInfoAdapter.PropertyInfo" /> instance.
            </summary></member><member name="T:Remotion.Reflection.TypesafeActivator"><summary>
            Create an instance of a known type using fixed parameter types for the constructor.
            </summary></member><member name="T:Remotion.ServiceLocation.DefaultServiceConfigurationDiscoveryService"><summary>
            Provides services for scanning a range of types for default service configuration settings, as they would be applied by 
            <see cref="T:Remotion.ServiceLocation.DefaultServiceLocator" />. Use this class in order to configure a specific service locator with <see cref="T:Remotion.ServiceLocation.DefaultServiceLocator" />'s
            defaults.
            </summary></member><member name="M:Remotion.ServiceLocation.DefaultServiceConfigurationDiscoveryService.GetDefaultConfiguration(System.ComponentModel.Design.ITypeDiscoveryService)"><summary>
            Gets the default service configuration for the types returned by the given <see cref="T:System.ComponentModel.Design.ITypeDiscoveryService" />.
            </summary><param name="typeDiscoveryService">The type discovery service.</param></member><member name="M:Remotion.ServiceLocation.DefaultServiceConfigurationDiscoveryService.GetDefaultConfiguration(System.Collections.Generic.IEnumerable{System.Type})"><summary>
            Gets the default service configuration for the given types.
            </summary><param name="types">The types to get the default service configuration for.</param></member><member name="M:Remotion.ServiceLocation.DefaultServiceConfigurationDiscoveryService.GetDefaultConfiguration(System.Collections.Generic.IEnumerable{System.Reflection.Assembly})"><summary>
            Gets the default service configuration for the types in the given assemblies.
            </summary><param name="assemblies">The assemblies for whose types to get the default service configuration.</param></member><member name="T:Remotion.ServiceLocation.DefaultServiceLocator"><summary>
            Provides a default implementation of the <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator" /> interface based on the <see cref="T:Remotion.Implementation.ConcreteImplementationAttribute" />.
            The <see cref="T:Remotion.ServiceLocation.SafeServiceLocator" /> uses (and registers) an instance of this class unless an application registers its own service locator via 
            <see cref="M:Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(Microsoft.Practices.ServiceLocation.ServiceLocatorProvider)" />.
            </summary></member><member name="M:Remotion.ServiceLocation.DefaultServiceLocator.GetInstance(System.Type)"><summary>
            Get an instance of the given <paramref name="serviceType" />. The type must either have a <see cref="T:Remotion.Implementation.ConcreteImplementationAttribute" />, or
            a concrete implementation or factory must have been registered using one of the <see cref="O:Register" /> methods.
            </summary><param name="serviceType">The type of object requested.</param></member><member name="M:Remotion.ServiceLocation.DefaultServiceLocator.GetInstance(System.Type,System.String)"><summary>
            Get an instance of the given <paramref name="serviceType" />. The type must either have a <see cref="T:Remotion.Implementation.ConcreteImplementationAttribute" />, or
            a concrete implementation or factory must have been registered using one of the <see cref="O:Register" /> methods.
            </summary><param name="serviceType">The type of object requested.</param><param name="key">The name the object was registered with. This parameter is ignored by this implementation of <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator" />.</param></member><member name="M:Remotion.ServiceLocation.DefaultServiceLocator.GetAllInstances(System.Type)"><summary>
            Get all instance of the given <paramref name="serviceType" />, or an empty sequence if no instance could be found.
            </summary><param name="serviceType">The type of object requested.</param></member><member name="M:Remotion.ServiceLocation.DefaultServiceLocator.GetInstance``1"><summary>
             Get an instance of the given <typeparamref name="TService" /> type. The type must either have a <see cref="T:Remotion.Implementation.ConcreteImplementationAttribute" />, 
             or a concrete implementation or factory must have been registered using one of the <see cref="O:Register" /> methods.
             </summary></member><member name="M:Remotion.ServiceLocation.DefaultServiceLocator.GetInstance``1(System.String)"><summary>
            Get an instance of the given <typeparamref name="TService" /> type. The type must either have a <see cref="T:Remotion.Implementation.ConcreteImplementationAttribute" />,
            or a concrete implementation or factory must have been registered using one of the <see cref="O:Register" /> methods.
            </summary><param name="key">The name the object was registered with. This parameter is ignored by this implementation of <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator" />.</param></member><member name="M:Remotion.ServiceLocation.DefaultServiceLocator.GetAllInstances``1"><summary>
            Get all instance of the given <typeparamref name="TService" /> type, or an empty sequence if no instance could be found.
            </summary></member><member name="M:Remotion.ServiceLocation.DefaultServiceLocator.System#IServiceProvider#GetService(System.Type)"><summary>
            Get an instance of the given <paramref name="serviceType" />. The type must either have a <see cref="T:Remotion.Implementation.ConcreteImplementationAttribute" />, or
            a concrete implementation or factory must have been registered using one of the <see cref="O:Register" /> methods. Otherwise, 
            the method returns <see langword="null" />.
            </summary><param name="serviceType">The type of object requested.</param></member><member name="M:Remotion.ServiceLocation.DefaultServiceLocator.Register(System.Type,System.Func{System.Object})"><summary>
            Registers a factory for the specified <paramref name="serviceType" />. 
            The factory is subsequently invoked whenever an instance for the <paramref name="serviceType" /> is requested.
            </summary><param name="serviceType">The service type to register a factory for.</param><param name="instanceFactory">The instance factory to use when resolving an instance for the <paramref name="serviceType" />.</param></member><member name="M:Remotion.ServiceLocation.DefaultServiceLocator.Register(System.Type,System.Type,Remotion.Implementation.LifetimeKind)"><summary>
            Registers a concrete implementation for the specified <paramref name="serviceType" />.
            </summary><param name="serviceType">The service type to register a concrete implementation for.</param><param name="concreteImplementationType">The type of the concrete implementation to be instantiated when an instance of the 
            <paramref name="serviceType" /> is retrieved.</param><param name="lifetime">The lifetime of the instances.</param></member><member name="M:Remotion.ServiceLocation.DefaultServiceLocator.Register(Remotion.ServiceLocation.ServiceConfigurationEntry)"><summary>
            Registers a concrete implementation.
            </summary><param name="serviceConfigurationEntry">A <see cref="T:Remotion.ServiceLocation.ServiceConfigurationEntry" /> describing the concrete implementation to be registered.</param></member><member name="T:Remotion.ServiceLocation.ServiceConfigurationEntry"><summary>
            Holds the parameters used by <see cref="T:Remotion.ServiceLocation.DefaultServiceLocator" /> for instantiating instances of service types. Use 
            <see cref="T:Remotion.ServiceLocation.DefaultServiceConfigurationDiscoveryService" /> to retrieve the <see cref="T:Remotion.ServiceLocation.ServiceConfigurationEntry" /> data for a specific type.
            </summary></member><member name="M:Remotion.ServiceLocation.ServiceConfigurationEntry.CreateFromAttribute(System.Type,Remotion.Implementation.ConcreteImplementationAttribute)"><summary>
            Creates a <see cref="T:Remotion.ServiceLocation.ServiceConfigurationEntry" /> from a <see cref="T:Remotion.Implementation.ConcreteImplementationAttribute" />.
            </summary><param name="serviceType">The service type.</param><param name="attribute">The attribute holding information about the concrete implementation of the <paramref name="serviceType" />.</param></member><member name="M:Remotion.ServiceLocation.ServiceConfigurationEntry.#ctor(System.Type,System.Type,Remotion.Implementation.LifetimeKind)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.ServiceLocation.ServiceConfigurationEntry" /> class.
            </summary><param name="serviceType">The service type. This is a type for which instances are requested from a service locator.</param><param name="implementationType">The concrete implementation of the <paramref name="serviceType" />.</param><param name="lifetime">The lifetime of the instances of <paramref name="implementationType" />.</param></member><member name="P:Remotion.ServiceLocation.ServiceConfigurationEntry.ServiceType"><summary>
            Gets the service type. This is a type for which instances are requested from a service locator.
            </summary></member><member name="P:Remotion.ServiceLocation.ServiceConfigurationEntry.ImplementationType"><summary>
            Gets the concrete implementation of the <see cref="P:Remotion.ServiceLocation.ServiceConfigurationEntry.ServiceType" />.
            </summary></member><member name="P:Remotion.ServiceLocation.ServiceConfigurationEntry.Lifetime"><summary>
            Gets the lifetime of the instances of <see cref="P:Remotion.ServiceLocation.ServiceConfigurationEntry.ImplementationType" />.
            </summary></member><member name="T:Remotion.Text.CommandLine.CommandLineArgument"><summary>
            The base class for command line argument definitions
            </summary></member><member name="M:Remotion.Text.CommandLine.CommandLineArgument.#ctor(System.Boolean)"><summary>
            Creates a positional command line argument.
            </summary></member><member name="M:Remotion.Text.CommandLine.CommandLineArgument.#ctor(System.String,System.Boolean)"><summary>
            Creates a named command line argument.
            </summary></member><member name="T:Remotion.Text.CommandLine.CommandLineArgumentCollection"><summary>
            A collection of <see cref="T:Remotion.Text.CommandLine.CommandLineArgument" /> objects.
            </summary></member><member name="T:Remotion.Text.CommandLine.CommandLineArgumentAttribute"><summary>
            Use descendants of <see cref="T:Remotion.Text.CommandLine.CommandLineArgumentAttribute" /> (<see cref="T:Remotion.Text.CommandLine.CommandLineStringArgument" />, <see cref="T:Remotion.Text.CommandLine.CommandLineFlagArgument" />,...)
            to qualify class properties as command line arguments, to be able to be
            filled from a <c>string[] args</c> by a <see cref="T:Remotion.Text.CommandLine.CommandLineClassParser" />.
            </summary></member><member name="M:Remotion.Text.CommandLine.CommandLineArgumentAttribute.#ctor(System.Int32)"><summary> do not use this constructor </summary></member><member name="T:Remotion.Text.CommandLine.CommandLineStringArgumentAttribute"><summary>
            Use <see cref="T:Remotion.Text.CommandLine.CommandLineStringArgumentAttribute" /> to qualify positional or named string command line arguments.
            </summary></member><member name="T:Remotion.Text.CommandLine.CommandLineParser"><summary>
            Provides methods for declaring command line syntax and providing values.
            </summary></member><member name="M:Remotion.Text.CommandLine.CommandLineParser.SplitCommandLine(System.String,System.Boolean)"><summary>
            Splits a command line string into an array of command line arguments, separated by spaces.
            </summary><param name="commandLine">The command line (as available from <see cref="P:System.Environment.CommandLine" />.)</param><param name="includeFirstArgument">
      If <see langword="true" />, the first argument (which is usually the file name of
      the program) is included, otherwise only the arguments after the first one are included.
    </param></member><member name="M:Remotion.Text.CommandLine.CommandLineParser.Parse(System.String,System.Boolean)"><summary>
            This method reads a command line and initializes the arguments contained in <see cref="F:Remotion.Text.CommandLine.CommandLineParser.Arguments" />.
            </summary><param name="commandLine">The string that contains the command line arguments. See <see cref="M:Remotion.Text.CommandLine.CommandLineParser.SplitCommandLine(System.String,System.Boolean)" /> for information on how
            command lines are parsed.</param><param name="includeFirstArgument">
      If <see langword="true" />, the first argument (which is usually the file name of
      the program) is included, otherwise only the arguments after the first one are included.
    </param></member><member name="M:Remotion.Text.CommandLine.CommandLineParser.Parse(System.String[])"><summary>
            This method reads the strings of a command line (as passed to the C# Main method) and
            initializes the arguments contained in <see cref="F:Remotion.Text.CommandLine.CommandLineParser.Arguments" />.
            </summary><param name="args">An array of command line arguments. This is typically the <c>args</c> parameter passed to the C# Main method.</param></member><member name="M:Remotion.Text.CommandLine.CommandLineParser.GetAsciiSynopsis(System.String,System.Int32)"><summary>
            Returns a string containing the syntax description of the arguments contained in <see cref="F:Remotion.Text.CommandLine.CommandLineParser.Arguments" />.
            </summary><param name="commandName">The file name of the program.</param><param name="maxWidth">The maximum line length (for screen output, use 79 for 80 character output to avoid blank lines).</param></member><member name="F:Remotion.Text.CommandLine.CommandLineClassParser._arguments"><summary> IDictionary &lt;CommandLineArgument, MemberInfo&gt; </summary></member><member name="P:Remotion.Text.CommandLine.CommandLineGroupArgument.Parts"><summary> IList&lt;CommandLineArgument&gt;</summary></member><member name="T:Remotion.Text.CommandLine.ICommandLinePartArgument"><summary>
            Implemented by argument types that are part of a <see cref="T:Remotion.Text.CommandLine.CommandLineGroupArgument" />.
            </summary></member><member name="F:Remotion.Text.CommandLine.CommandLineModeArgument._flags"><summary> ArrayList&lt;CommandLineModeFlagArgument&gt;</summary></member><member name="T:Remotion.Text.CommandLine.CommandLineModeFlagArgument"><summary>
            Several flag arguments are used for one mode argument group. E.g. /mode1 or /mode2 are two flags that specify either of two modes.
            </summary></member><member name="T:Remotion.Text.CommandLine.CommandLineArgumentException"><summary>
            Base class for all exceptions that indicate errors in the command line.
            </summary></member><member name="T:Remotion.Text.CommandLine.InvalidCommandLineArgumentValueException"><summary>
            This exception is thrown if the value of a parameter cannot be interpreted.
            </summary></member><member name="T:Remotion.Text.CommandLine.InvalidCommandLineArgumentNameException"><summary>
            This exception is thrown if the command line contains a named argument that is not defined.
            </summary></member><member name="T:Remotion.Text.CommandLine.InvalidNumberOfCommandLineArgumentsException"><summary>
            This exception is thrown if the command line contains too many unnamed arguments.
            </summary></member><member name="T:Remotion.Text.CommandLine.MissingRequiredCommandLineParameterException"><summary>
            This exception is thrown if a non-optional command line argument is not contained in the command line.
            </summary></member><member name="T:Remotion.Text.CommandLine.ConflictCommandLineParameterException"><summary>
            This exception is thrown if two or more conflictiong arguments are set.
            </summary></member><member name="T:Remotion.Text.CommandLine.CommandLineArgumentApplicationException"><summary>
            This exception class indicates application-defined error conditions.
            </summary></member><member name="M:Remotion.Text.StringExtensions.StringExtensions.LeftUntilChar(System.String,System.Char)"><summary>
            Returns the substring of the passed string starting at the first character and 
            ending at the passed seperator character, excluding the seperator character.
            </summary></member><member name="M:Remotion.Text.StringExtensions.StringExtensions.RightUntilChar(System.String,System.Char)"><summary>
            Returns the substring of the passed string starting at the last character and ending at 
            the passed seperator character, excluding the seperator character.
            </summary></member><member name="M:Remotion.Text.StringExtensions.StringExtensions.EscapeString(System.String,System.Text.StringBuilder)"><summary>
            Appends the passed string to the passed <see cref="T:System.Text.StringBuilder" />, replacing all tabs,newlines, linefeeds, etc 
            with their escaped C# string representation. E.g. tabulator =&gt; \t .
            See also <see cref="M:Remotion.Text.StringExtensions.StringExtensions.Escape(System.String)" />.
            </summary></member><member name="M:Remotion.Text.StringExtensions.StringExtensions.Escape(System.String)"><summary>
            Returns the passed string with all tabs, newlines, linefeeds, etc 
            replaced with their escaped C# string representation. E.g. tabulator =&gt; \t .
            See also <see cref="M:Remotion.Text.StringExtensions.StringExtensions.EscapeString(System.String,System.Text.StringBuilder)" />.
            </summary></member><member name="F:Remotion.Text.IdentifierGenerator._uniqueIdentfiersByObject"><summary> Hashtable&lt;object uniqueObject, string uniqueIdentifier&gt; </summary></member><member name="F:Remotion.Text.IdentifierGenerator._uniqueIdentifiers"><summary> Hashtable&lt;string uniqueIdentifier, null&gt; </summary></member><member name="F:Remotion.Text.IdentifierGenerator._isTemplate"><summary> Specifies that the IdentifierGenerator must be cloned and cannot be used directly. </summary></member><member name="F:Remotion.Text.IdentifierGenerator._specificReplaceStrings"><summary> IDictionary&lt;char, string&gt; </summary></member><member name="M:Remotion.Text.IdentifierGenerator.Clone"><summary>
              Creates a copy of an IdentifierGenerator.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.CStyle"><summary>
              Returns an identifier generator for C-style identifiers.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.HtmlStyle"><summary>
              Returns an identifier generator for HTML ID tokens.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.XmlStyle"><summary>
              Returns an identifier generator for XML ID tokens.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.UniqueSeparator"><summary>
              If a unique number is appended to string, <c>UniqueSeparator</c> is inserted between the identifier 
              and the number.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.AllowEnglishLetters"><summary>
            States that all english letters (upper case and lower case) are valid for identifiers, while accented
            letters and umlauts are not.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.AllowLanguageSpecificLetters"><summary>
            States that all letters (upper case and lower case) are valid for identifiers, including accented
            letters and umlauts.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.AllowDigits"><summary>
            States that numeric digits are valid for identifiers.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.AllowAdditionalCharacters"><summary>
            Provides a list of characters that are valid as a string.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.DefaultReplaceString"><summary>
            Characters that are not valid and have no special replace string defined are replaced with this value.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.TreatFirstCharacterSpecial"><summary>
            If this property is true, the special properties for the first character are considered for
            the first character instead of the normal properties.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.AllowFirstCharacterEnglishLetters"><summary>
            States that all english letters (upper case and lower case) are valid for the first character of an 
            identifier, while accented letters and umlauts are not.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.AllowFirstCharacterLanguageSpecificLetters"><summary>
            States that all letters (upper case and lower case) are valid for the first character of an identifier, 
            including accented letters and umlauts.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.AllowFirstCharacterDigits"><summary>
            States that numeric digits are valid for the first character of an identifier.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.AllowFirstCharacterAdditionalCharacters"><summary>
            Provides a list of characters that are valid for the first character of an identifier.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.DefaultFirstCharacterReplaceString"><summary>
            If the first character is not valid and has no special replace string defined, it isreplaced with this value.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.IsCaseSensitive"><summary>
              Specifies whether the resulting identifiers are case-sensitive.
            </summary></member><member name="P:Remotion.Text.IdentifierGenerator.UseCaseSensitiveNames"><summary>
              Secifies whether the provided unique names are considered to be case sensitive.
            </summary></member><member name="T:Remotion.Text.MonospaceTextFormat"><summary>
            Utility functions for formatting text with fixed character widths.
            </summary></member><member name="M:Remotion.Text.MonospaceTextFormat.AppendWrappedText(System.Text.StringBuilder,System.Int32,System.String)"><summary>
            Formats the specified text with word breaks within the specified line width.
            </summary><param name="sb">The StringBuilder object the text is written to.</param><param name="lineWidth">The line width of the output.</param><param name="text">The text that is to be formatted.</param></member><member name="M:Remotion.Text.MonospaceTextFormat.AppendIndentedText(System.Text.StringBuilder,System.Int32,System.Int32,System.String)"><summary>
            Formats the specified text with word breaks within the specified line width. All lines but the first are indented.
            </summary><param name="sb">The StringBuilder object the text is written to.</param><param name="indent">The number of characters already contained in the current line, which is also the number of spaces
            that preceed each following line.</param><param name="lineWidth">The line width of the output.</param><param name="text">The text that is to be formatted.</param></member><member name="M:Remotion.Text.MonospaceTextFormat.SplitTextOnSeparator(System.String,System.String@,System.String@,System.Int32,System.Char[])"><summary>
            Splits a string on the last separator character before the specified split position.
            </summary><param name="text">Input string.</param><param name="beforeSplit">Returns the part of the string before the split.</param><param name="afterSplit">Returns the part of the string after the split, or a null reference if the complete string was returned in <c>beforeSplit</c>.</param><param name="splitAt">Specifies the position to split at. No more than <c>splitAt</c> characters will be returned in <c>beforeSplit</c>.</param><param name="separators">Valid separator characters.</param></member><member name="T:Remotion.Text.SeparatedStringBuilder"><summary>
            Builds a string adding separators between appended strings.
            </summary></member><member name="M:Remotion.Text.SeparatedStringBuilder.Build``1(System.String,System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.String})"><summary>
            Appends the result of selector(item) for each item in the specified list.
            </summary></member><member name="M:Remotion.Text.SeparatedStringBuilder.Build``1(System.String,System.Collections.Generic.IEnumerable{``0})"><summary>
            Appends each item in the specified list.
            </summary></member><member name="M:Remotion.Text.SeparatedStringBuilder.Build``1(System.String,System.Collections.IEnumerable,System.Func{``0,System.String})"><summary>
            Appends the result of selector(item) for each item in the specified list.
            </summary></member><member name="M:Remotion.Text.SeparatedStringBuilder.Build(System.String,System.Collections.IEnumerable)"><summary>
            Appends each item in the specified list.
            </summary></member><member name="T:Remotion.Utilities.ConsoleApplication.ConsoleApplication`2"><summary>
            Console application class: Supplies command line parsing (including standard command line switches; 
            see <see cref="T:Remotion.Utilities.ConsoleApplication.ConsoleApplicationSettings" />) and standardized error handling and output.
            </summary></member><member name="T:Remotion.Utilities.ConsoleApplication.ConsoleApplicationSettings"><summary>
            Supplies command line arguments for <see cref="T:Remotion.Utilities.ConsoleApplication.ConsoleApplication`2" />|s:
            <para>/? ... output usage information</para>
            <para>/wait+ ... wait for a keypress at the end of program execution</para>
            </summary></member><member name="T:Remotion.Utilities.ConsoleApplication.ConsoleKeypressWaiter"><summary>
            Class implementing <see cref="M:Remotion.Utilities.ConsoleApplication.ConsoleKeypressWaiter.Wait" /> to wait for a keypress on the console.
            The <see cref="T:Remotion.Utilities.ConsoleApplication.IWaiter" />-method returns after a console key has been pressed.
            </summary></member><member name="T:Remotion.Utilities.ConsoleApplication.IWaiter"><summary>
            Interface for classes that support some sort of wait functionality. The <see cref="M:Remotion.Utilities.ConsoleApplication.IWaiter.Wait" />-method 
            returns when the event the class implementing <see cref="T:Remotion.Utilities.ConsoleApplication.IWaiter" /> occured (e.g. see <see cref="T:Remotion.Utilities.ConsoleApplication.ConsoleKeypressWaiter" />).
            </summary></member><member name="T:Remotion.Utilities.ConsoleApplication.IApplicationRunner`1"><summary>
            Interface for application classes turned into console applications by "wrapping" them in a 
            <see cref="T:Remotion.Utilities.ConsoleApplication.ConsoleApplicationSettings" />.
            </summary></member><member name="T:JetBrains.Annotations.AssertionConditionAttribute"><summary>
            Indicates the condition parameter of the assertion method. 
            The method itself should be marked by <see cref="T:JetBrains.Annotations.AssertionMethodAttribute" /> attribute.
            The mandatory argument of the attribute is the assertion type.
            </summary></member><member name="M:JetBrains.Annotations.AssertionConditionAttribute.#ctor(JetBrains.Annotations.AssertionConditionType)"><summary>
            Initializes new instance of AssertionConditionAttribute
            </summary><param name="conditionType">Specifies condition type</param></member><member name="P:JetBrains.Annotations.AssertionConditionAttribute.ConditionType"><summary>
            Gets condition type
            </summary></member><member name="T:JetBrains.Annotations.AssertionConditionType"><summary>
            Specifies assertion type. If the assertion method argument satisifes the condition, then the execution continues. 
            Otherwise, execution is assumed to be halted
            </summary></member><member name="F:JetBrains.Annotations.AssertionConditionType.IS_TRUE"><summary>
            Indicates that the marked parameter should be evaluated to true
            </summary></member><member name="F:JetBrains.Annotations.AssertionConditionType.IS_FALSE"><summary>
            Indicates that the marked parameter should be evaluated to false
            </summary></member><member name="F:JetBrains.Annotations.AssertionConditionType.IS_NULL"><summary>
            Indicates that the marked parameter should be evaluated to null value
            </summary></member><member name="F:JetBrains.Annotations.AssertionConditionType.IS_NOT_NULL"><summary>
            Indicates that the marked parameter should be evaluated to not null value
            </summary></member><member name="T:JetBrains.Annotations.AssertionMethodAttribute"><summary>
            Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied. 
            To set the condition, mark one of the parameters with <see cref="T:JetBrains.Annotations.AssertionConditionAttribute" /> attribute
            </summary></member><member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute"><summary>
            Used for ReSharper intellisense only.
            When applied to target attribute, specifies a requirement for any type which is marked with 
            target attribute to implement or inherit specific type or types
            </summary></member><member name="M:JetBrains.Annotations.BaseTypeRequiredAttribute.#ctor(System.Type[])"><summary>
            Initializes new instance of BaseTypeRequiredAttribute
            </summary><param name="baseTypes">Specifies which types are required</param></member><member name="P:JetBrains.Annotations.BaseTypeRequiredAttribute.BaseTypes"><summary>
            Gets enumerations of specified base types
            </summary></member><member name="T:JetBrains.Annotations.CanBeNullAttribute"><summary>
            Indicates that the value of marked element could be <c>null</c> sometimes, so the check for <c>null</c> is necessary before its usage
            </summary></member><member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute"><summary>
            Indicates that the value of marked type (or its derivatives) cannot be compared using '==' or '!=' operators.
            There is only exception to compare with <c>null</c>, it is permitted
            </summary></member><member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access"><summary>
            Only entity marked with attribute considered used
            </summary></member><member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign"><summary>
            Indicates implicit assignment to a member
            </summary></member><member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Instantiated"><summary>
            Indicates implicit instantiation of a type
            </summary></member><member name="T:JetBrains.Annotations.ImplicitUseTargetFlags"><summary>
            Specify what is considered used implicitly when marked with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute" /> or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute" />
            </summary></member><member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members"><summary>
            Members of entity marked with attribute are considered used
            </summary></member><member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers"><summary>
            Entity marked with attribute and all its members considered used
            </summary></member><member name="T:JetBrains.Annotations.InvokerParameterNameAttribute"><summary>
            Indicates that the function argument should be string literal and match one  of the parameters of the caller function.
            For example, <see cref="T:System.ArgumentNullException" /> has such parameter.
            </summary></member><member name="T:JetBrains.Annotations.LocalizationRequiredAttribute"><summary>
            Indicates that marked element should be localized or not.
            </summary></member><member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.#ctor(System.Boolean)"><summary>
            Initializes a new instance of the <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute" /> class.
            </summary><param name="required"><c>true</c> if a element should be localized; otherwise, <c>false</c>.</param></member><member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.Equals(System.Object)"><summary>
            Returns whether the value of the given object is equal to the current <see cref="T:JetBrains.Annotations.LocalizationRequiredAttribute" />.
            </summary><param name="obj">The object to test the value equality of. </param></member><member name="M:JetBrains.Annotations.LocalizationRequiredAttribute.GetHashCode"><summary>
            Returns the hash code for this instance.
            </summary></member><member name="P:JetBrains.Annotations.LocalizationRequiredAttribute.Required"><summary>
            Gets a value indicating whether a element should be localized.
            <value><c>true</c> if a element should be localized; otherwise, <c>false</c>.</value>
            </summary></member><member name="T:JetBrains.Annotations.MeansImplicitUseAttribute"><summary>
            Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections)
            </summary></member><member name="P:JetBrains.Annotations.MeansImplicitUseAttribute.TargetFlags"><summary>
            Gets value indicating what is meant to be used
            </summary></member><member name="T:JetBrains.Annotations.NotNullAttribute"><summary>
            Indicates that the value of marked element could never be <c>null</c>
            </summary></member><member name="T:JetBrains.Annotations.StringFormatMethodAttribute"><summary>
            Indicates that marked method builds string by format pattern and (optional) arguments. 
            Parameter, which contains format string, should be given in constructor.
            The format string should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])" /> -like form
            </summary></member><member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)"><summary>
            Initializes new instance of StringFormatMethodAttribute
            </summary><param name="formatParameterName">Specifies which parameter of an annotated method should be treated as format-string</param></member><member name="P:JetBrains.Annotations.StringFormatMethodAttribute.FormatParameterName"><summary>
            Gets format parameter name
            </summary></member><member name="T:JetBrains.Annotations.TerminatesProgramAttribute"><summary>
            Indicates that the marked method unconditionally terminates control flow execution.
            For example, it could unconditionally throw exception
            </summary></member><member name="T:JetBrains.Annotations.UsedImplicitlyAttribute"><summary>
            Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
            so this symbol will not be marked as unused (as well as by other usage inspections)
            </summary></member><member name="P:JetBrains.Annotations.UsedImplicitlyAttribute.TargetFlags"><summary>
            Gets value indicating what is meant to be used
            </summary></member><member name="T:Remotion.Utilities.ActionUtility"><summary>
            Provides commonly used operations on <see cref="T:System.Action`1" />  delegate types.
            </summary></member><member name="T:Remotion.Utilities.AdvancedEnumConverter"><summary> Specialization of <see cref="T:System.ComponentModel.TypeConverter" /> for conversions from and to <see cref="T:System.Enum" /> types. </summary></member><member name="M:Remotion.Utilities.AdvancedEnumConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)"><summary> Test: Can convert from <paramref name="sourceType" /> to <see cref="T:System.String" />? </summary><param name="context"> An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. </param><param name="sourceType"> The <see cref="T:System.Type" /> of the value to be converted into an <see cref="T:System.Enum" /> type. </param></member><member name="M:Remotion.Utilities.AdvancedEnumConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)"><summary> Test: Can convert from <see cref="T:System.String" /> to <paramref name="destinationType" />? </summary><param name="context"> An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. </param><param name="destinationType"> The <see cref="T:System.Type" /> to convert an <see cref="T:System.Enum" /> value to. </param></member><member name="M:Remotion.Utilities.AdvancedEnumConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)"><summary> Converts <paramref name="value" /> into an <see cref="T:System.Enum" /> value. </summary><param name="context"> An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. </param><param name="culture"> The <see cref="T:System.Globalization.CultureInfo" /> to use as the current culture. </param><param name="value"> The source value. </param></member><member name="M:Remotion.Utilities.AdvancedEnumConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)"><summary> Convertes an <see cref="T:System.Enum" /> value into the <paramref name="destinationType" />. </summary><param name="context"> An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. </param><param name="culture"> The <see cref="T:System.Globalization.CultureInfo" /> to use as the current culture. </param><param name="value"> The <see cref="T:System.Enum" /> value to be converted. </param><param name="destinationType"> The destination <see cref="T:System.Type" />. Must not be <see langword="null" />. </param></member><member name="T:Remotion.Utilities.AppDomainAssemblyResolver"><summary>
            Helper class for resolving assemblies when executing code in a separate <see cref="T:System.AppDomain" />. Create an instance of this class in the
            target app domain, then use <see cref="M:Remotion.Utilities.AppDomainAssemblyResolver.Register(System.AppDomain)" /> to register the resolver with the <see cref="T:System.AppDomain" />. The class derives from
            <see cref="T:System.MarshalByRefObject" /> in order to allow <see cref="M:Remotion.Utilities.AppDomainAssemblyResolver.Register(System.AppDomain)" /> to be called from the parent <see cref="T:System.AppDomain" />. After 
            <see cref="M:Remotion.Utilities.AppDomainAssemblyResolver.Register(System.AppDomain)" /> was called, the resolver tries to resolve all assembly references from the given assembly directory.
            </summary></member><member name="T:Remotion.Utilities.AppDomainRunnerBase"><summary>
            Base class for executing code in a separate <see cref="T:System.AppDomain" />.
            </summary></member><member name="T:Remotion.Utilities.ArgumentUtility"><summary>
            This utility class provides methods for checking arguments.
            </summary></member><member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)"><summary>Returns the value itself if it is not <see langword="null" /> and of the specified value type.</summary></member><member name="M:Remotion.Utilities.ArgumentUtility.CheckType``1(System.String,System.Object)"><summary>Returns the value itself if it is of the specified type.</summary></member><member name="M:Remotion.Utilities.ArgumentUtility.CheckNotNullAndTypeIsAssignableFrom(System.String,System.Type,System.Type)"><summary>Checks whether <paramref name="actualType" /> is not <see langword="null" /> and can be assigned to <paramref name="expectedType" />.</summary></member><member name="M:Remotion.Utilities.ArgumentUtility.CheckTypeIsAssignableFrom(System.String,System.Type,System.Type)"><summary>Checks whether <paramref name="actualType" /> can be assigned to <paramref name="expectedType" />.</summary></member><member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsType``1(System.String,``0,System.Type)"><summary>Checks whether all items in <paramref name="collection" /> are of type <paramref name="itemType" /> or a null reference.</summary></member><member name="M:Remotion.Utilities.ArgumentUtility.CheckItemsNotNullAndType``1(System.String,``0,System.Type)"><summary>Checks whether all items in <paramref name="collection" /> are of type <paramref name="itemType" /> and not null references.</summary></member><member name="M:Remotion.Utilities.ArgumentUtility.CheckValidEnumValue(System.String,System.Enum)"><summary>Checks whether <paramref name="enumValue" /> is defined within its enumeration type.</summary></member><member name="M:Remotion.Utilities.ArgumentUtility.CheckValidEnumValueAndType``1(System.String,System.Object)"><summary>Checks whether <paramref name="enumValue" /> is of the enumeration type <typeparamref name="TEnum" /> and defined within this type.</summary></member><member name="M:Remotion.Utilities.ArgumentUtility.CheckValidEnumValueAndTypeAndNotNull``1(System.String,System.Object)"><summary>Checks whether <paramref name="enumValue" /> is of the enumeration type <typeparamref name="TEnum" />, is defined within this 
            type, and is not a null reference.</summary></member><member name="T:Remotion.Utilities.ArrayUtility"><summary>
            Provides utility functions that make common array operations easier.
            </summary></member><member name="T:Remotion.Utilities.AssertionException"><summary>
            This exception is thrown when an assertion fails.
            </summary></member><member name="T:Remotion.Utilities.Assertion"><summary>
            Provides methods that throw an <see cref="T:Remotion.Utilities.AssertionException" /> if an assertion fails.
            </summary></member><member name="T:Remotion.Utilities.AttributeUtility"><summary>
            Utility class for finding custom attributes via their type or an interface implemented by the type.
            </summary></member><member name="T:Remotion.Utilities.BidirectionalStringConverter"><summary> Specialization of <see cref="T:System.ComponentModel.TypeConverter" /> for conversions from and to <see cref="T:System.String" />. </summary></member><member name="M:Remotion.Utilities.BidirectionalStringConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)"><summary> Test: Can convert from <paramref name="sourceType" /> to <see cref="T:System.String" />? </summary><param name="context"> An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. </param><param name="sourceType"> 
              The <see cref="T:System.Type" /> of the value to be converted into a <see cref="T:System.String" />.
            </param></member><member name="M:Remotion.Utilities.BidirectionalStringConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)"><summary> Test: Can convert from <see cref="T:System.String" /> to <paramref name="destinationType" />? </summary><param name="context"> An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. </param><param name="destinationType"> The <see cref="T:System.Type" />  to convert a <see cref="T:System.String" /> value to. </param></member><member name="M:Remotion.Utilities.BidirectionalStringConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)"><summary> Converts <paramref name="value" /> into a <see cref="T:System.String" />. </summary><param name="context"> An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. </param><param name="culture"> The <see cref="T:System.Globalization.CultureInfo" /> to use as the current culture. </param><param name="value">  The source value. </param></member><member name="M:Remotion.Utilities.BidirectionalStringConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)"><summary> Convertes a <see cref="T:System.String" /> into the <paramref name="destinationType" />. </summary><param name="context"> An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. </param><param name="culture"> The <see cref="T:System.Globalization.CultureInfo" /> to use as the current culture. </param><param name="value"> The <see cref="T:System.String" /> to be converted. </param><param name="destinationType"> The destination <see cref="T:System.Type" />. Must not be <see langword="null" />. </param></member><member name="M:Remotion.Utilities.BidirectionalStringConverter.GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext)"><summary>
              Returns whether the collection of standard values returned by 
              <see cref="M:System.ComponentModel.TypeConverter.GetStandardValues" /> is an exclusive list.
            </summary><param name="context"> An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. </param></member><member name="M:Remotion.Utilities.BidirectionalStringConverter.GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext)"><summary> Returns whether this object supports a standard set of values that can be picked from a list. </summary><param name="context"> An ITypeDescriptorContext that provides a format context. </param></member><member name="T:Remotion.Utilities.CompoundComparer`1"><summary>
            Implements <see cref="T:System.Collections.Generic.IComparer`1" /> as a composite of several individual <see cref="T:System.Collections.Generic.IComparer`1" /> instances. If the first comparer
            compares equal, the second is used, and so on. This is similar to how
            <see cref="M:System.Linq.Enumerable.OrderBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})" /> and
            <see cref="M:System.Linq.Enumerable.ThenBy``2(System.Linq.IOrderedEnumerable{``0},System.Func{``0,``1})" /> work.
            </summary></member><member name="T:Remotion.Utilities.ConsoleUtility"><summary>
            Provides utility methods for managing consoles.
            </summary></member><member name="M:Remotion.Utilities.ConsoleUtility.EnterColorScope(System.Nullable{System.ConsoleColor},System.Nullable{System.ConsoleColor})"><summary>
            Temporarily sets the foreground and background of the default console to the given <paramref name="foregroundColor" /> and
            <paramref name="backgroundColor" />. The previous colors are restored when the returned object's <see cref="M:System.IDisposable.Dispose" /> method is 
            called, eg. in a <c>using</c> statement.
            </summary><param name="foregroundColor">The color to temporarily assign as the console's foreground color. Pass <see langword="null" /> to leave the 
            foreground color untouched.</param><param name="backgroundColor">The color to temporarily assign as the console's background color. Pass <see langword="null" /> to leave the 
            background color untouched.</param></member><member name="T:Remotion.Utilities.ConsoleUtility.ColorScope"><summary>
            Represents a scope with a specific console color. Instantiate this scope via <see cref="M:Remotion.Utilities.ConsoleUtility.EnterColorScope(System.Nullable{System.ConsoleColor},System.Nullable{System.ConsoleColor})" /> unless
            you need to specify a specific <see cref="T:Remotion.Utilities.IConsoleManager" /> implementation.
            </summary></member><member name="T:Remotion.Utilities.CultureScope"><summary>
            Represents a scope with a specific culture and UI-culture (see <see cref="T:System.Globalization.CultureInfo" />). 
            </summary></member><member name="M:Remotion.Utilities.CultureScope.CreateInvariantCultureScope"><summary>
            Returns an invariant culture scope, i.e. initialized with <see cref="T:System.Globalization.CultureInfo" /> = <see cref="P:System.Globalization.CultureInfo.InvariantCulture" />.
            </summary></member><member name="M:Remotion.Utilities.CultureScope.#ctor(System.String,System.String)"><summary>
            Intialize <see cref="T:Remotion.Utilities.CultureScope" /> with culture-names-strings, e.g. "de-AT", "en-GB".
            </summary><param name="cultureName">Culture name string. null to not switch culture.</param><param name="uiCultureName">User interface culture name string. null to not switch UI-culture.</param></member><member name="M:Remotion.Utilities.CultureScope.#ctor(System.String)"><summary>
            Intialize both the culture and UI-culture with the same culture-name
            </summary><param name="cultureAndUiCultureName">Culture and User interface culture name string.</param></member><member name="M:Remotion.Utilities.CultureScope.#ctor(System.Globalization.CultureInfo,System.Globalization.CultureInfo)"><summary>
            Intialize <see cref="T:Remotion.Utilities.CultureScope" /> from <see cref="T:System.Globalization.CultureInfo" /> instances.
            </summary><param name="cultureInfo">Culture to use.</param><param name="uiCultureInfo">User interface culture to use.</param></member><member name="T:Remotion.Utilities.DefaultConsoleManager"><summary>
            Provides a default implementation of the <see cref="T:Remotion.Utilities.IConsoleManager" /> interface for the console represented by the <see cref="T:System.Console" />
            class.
            </summary></member><member name="T:Remotion.Utilities.IConsoleManager"><summary>
            Provides an API for manipulating the Console. This abstracts the <see cref="T:System.Console" /> class and thus enables unit testing of
            console-dependent code even when there is no console as well as use of multiple consoles at the same time.
            </summary></member><member name="P:Remotion.Utilities.IConsoleManager.ForegroundColor"><summary>
            Gets or sets the foreground color of the console.
            </summary></member><member name="P:Remotion.Utilities.IConsoleManager.BackgroundColor"><summary>
            Gets or sets the background color of the console.
            </summary></member><member name="F:Remotion.Utilities.DefaultConsoleManager.Instance"><summary>
            The single instance of this class.
            </summary></member><member name="P:Remotion.Utilities.DefaultConsoleManager.ForegroundColor"><summary>
            Gets or sets the foreground color of the console.
            </summary></member><member name="P:Remotion.Utilities.DefaultConsoleManager.BackgroundColor"><summary>
            Gets or sets the background color of the console.
            </summary></member><member name="T:Remotion.Utilities.DelegateBasedComparer`1"><summary>
            Implements <see cref="T:System.Collections.Generic.IComparer`1" /> by calling a <see cref="T:System.Comparison`1" /> delegate.
            </summary></member><member name="T:Remotion.Utilities.DelegateBasedEqualityComparer`1"><summary>
            <see cref="T:Remotion.Utilities.DelegateBasedEqualityComparer`1" /> implements <see cref="T:System.Collections.Generic.IEqualityComparer`1" /> to compare two objects and calculate hash codes 
            with the specified delegates.
            </summary></member><member name="T:Remotion.Utilities.EnumDescriptionAttribute"><summary>
            Use this attribute to specify a clear text representation of a certain enumeration value.
            </summary></member><member name="T:Remotion.Utilities.EnumDescription"><summary>
            Use this class to get the clear text representations of enumeration values.
            </summary></member><member name="F:Remotion.Utilities.EnumDescription.s_typeDescriptions"><summary>This is for enums with the EnumDescriptionAttribute on values. </summary></member><member name="F:Remotion.Utilities.EnumDescription.s_enumResourceManagers"><summary> This is for enums with the EnumDescriptionResourceAttribute.  </summary></member><member name="M:Remotion.Utilities.EnumDescription.CreateDesciptionsDictionary(System.Type)"></member><member name="T:Remotion.Utilities.EnumUtility"><summary>
            This utility class provides methods for dealing with enumeration values.
            </summary></member><member name="M:Remotion.Utilities.EnumUtility.IsValidEnumValue(System.Object)"><summary>
            Checks whether the specified value is one of the values that the enumeration type defines.
            </summary></member><member name="M:Remotion.Utilities.EnumUtility.IsValidEnumValue(System.Type,System.Object)"><summary>
            Checks whether the specified <paramref name="value" /> is one of the values that the <paramref name="enumType" /> defines.
            </summary></member><member name="T:Remotion.Utilities.EqualityUtility"><summary>
            Provides methods for determining equality and hash codes.
            </summary></member><member name="M:Remotion.Utilities.EqualityUtility.SafeGetHashCode``1(``0)"><summary>
            Gets an object's hash code or null, if the object is <see langword="null" />.
            </summary></member><member name="M:Remotion.Utilities.EqualityUtility.GetRotatedHashCode``2(``0,``1)"><summary>
      Gets the hash code of the individual arguments, XOR'd with bits rotated.
    </summary></member><member name="M:Remotion.Utilities.EqualityUtility.GetRotatedHashCode``3(``0,``1,``2)"><summary>
      Gets the hash code of the individual arguments, XOR'd with bits rotated.
    </summary></member><member name="M:Remotion.Utilities.EqualityUtility.GetRotatedHashCode``4(``0,``1,``2,``3)"><summary>
      Gets the hash code of the individual arguments, XOR'd with bits rotated.
    </summary></member><member name="M:Remotion.Utilities.EqualityUtility.GetRotatedHashCode``5(``0,``1,``2,``3,``4)"><summary>
      Gets the hash code of the individual arguments, XOR'd with bits rotated.
    </summary></member><member name="M:Remotion.Utilities.EqualityUtility.GetRotatedHashCode``6(``0,``1,``2,``3,``4,``5)"><summary>
      Gets the hash code of the individual arguments, XOR'd with bits rotated.
    </summary></member><member name="M:Remotion.Utilities.EqualityUtility.GetRotatedHashCode``7(``0,``1,``2,``3,``4,``5,``6)"><summary>
      Gets the hash code of the individual arguments, XOR'd with bits rotated.
    </summary></member><member name="M:Remotion.Utilities.EqualityUtility.GetRotatedHashCode(System.Object[])"><summary>
      Gets the hash code of the individual arguments, XOR'd with bits rotated.
    </summary></member><member name="M:Remotion.Utilities.EqualityUtility.GetRotatedHashCode(System.Collections.IEnumerable)"><summary>
            Gets the rotated hash code for an enumeration of objects.
            </summary><param name="objects">The objects whose combined hash code should be calculated.</param></member><member name="M:Remotion.Utilities.EqualityUtility.GetXorHashCode(System.Collections.IEnumerable)"><summary>
            Gets a hash code for the given enumerable. The hash code is calculated by combining the hash codes of the enumerated objects using the
            XOR operation. This is usually suboptimal to <see cref="M:Remotion.Utilities.EqualityUtility.GetRotatedHashCode(System.Collections.IEnumerable)" /> unless the ordering of enumerated objects
            should explicitly be ignored.
            </summary><param name="objects">The object enumeration for which a hash code should be calculated.</param></member><member name="M:Remotion.Utilities.EqualityUtility.EqualsEquatable``1(``0,``0)"><summary>
            Returns whether two equatable objects are equal.
            </summary></member><member name="M:Remotion.Utilities.EqualityUtility.EqualsEquatable``1(``0,System.Object)"><summary>
            Returns whether an equatable object equals another object.
            </summary></member><member name="M:Remotion.Utilities.EqualityUtility.EqualsEquatableValue``1(``0,System.Object)"><summary>
            Returns whether an equatable value-type object equals another object.
            </summary></member><member name="M:Remotion.Utilities.EqualityUtility.Equals``1(``0,``0)"><summary>
            Returns whether two objects are equal.
            </summary></member><member name="M:Remotion.Utilities.FileUtility.CopyStream(System.IO.Stream,System.IO.Stream)"><summary>
            Copies the complete content of one stream into another.
            </summary><param name="input">The input stream.</param><param name="output">The output stream.</param></member><member name="M:Remotion.Utilities.FileUtility.WriteEmbeddedStringResourceToFile(System.Type,System.String,System.String)"><summary>
            Writes a string resource embedded in an assemby into a file with the passed filename.
            </summary><param name="typeWhoseNamespaceTheStringResourceResidesIn"><see cref="T:System.Type" /> in whose assembly and namespace the string resource is located.</param><param name="stringResourceName">Name of the string resource, relative to namespace of the passed <see cref="T:System.Type" />.</param><param name="filePath">The path of the file the string resource will be written into.</param></member><member name="T:Remotion.Utilities.FuncUtility"><summary>
            Provides commonly used operations on <see cref="T:System.Func`2" /> delegate types.
            </summary></member><member name="T:Remotion.Utilities.ListUtility"><summary>
            Provides utility methods for processing IList instances. 
            </summary></member><member name="T:Remotion.Utilities.MemberInfoEqualityComparer"><summary>
            Provides logic to compare two <see cref="T:System.Reflection.MemberInfo" /> for logical equality, without considering the <see cref="P:System.Reflection.MemberInfo.ReflectedType" />.
            </summary></member><member name="M:Remotion.Utilities.MemberInfoEqualityComparer.Equals(System.Reflection.MemberInfo,System.Reflection.MemberInfo)"><summary>
            Checks two <see cref="T:System.Reflection.MemberInfo" /> instances for logical equality, without considering the <see cref="P:System.Reflection.MemberInfo.ReflectedType" />.
            </summary><param name="one">The left-hand side <see cref="T:System.Reflection.MemberInfo" /> to compare.</param><param name="two">The right-hand side <see cref="T:System.Reflection.MemberInfo" /> to compare.</param></member><member name="M:Remotion.Utilities.MemberInfoEqualityComparer.GetHashCode(System.Reflection.MemberInfo)"><summary>
            Returns the hash code for the given <see cref="T:System.Reflection.MemberInfo" />. To calculate the hash code, the hash codes of the declaring type, 
            metadata token and module of the <see cref="T:System.Reflection.MemberInfo" /> are combined. If the declaring type is an array, the name of the 
            <see cref="T:System.Reflection.MemberInfo" /> is used instead of the metadata token.
            </summary><param name="memberInfo">The <see cref="T:System.Reflection.MemberInfo" /> for which the hash code should be calculated.</param></member><member name="T:Remotion.Utilities.NameValueCollectionUtility"><summary>
              Utility class for <see cref="T:System.Collections.Specialized.NameValueCollection" />
            </summary></member><member name="M:Remotion.Utilities.NameValueCollectionUtility.Append(System.Collections.Specialized.NameValueCollection,System.Collections.Specialized.NameValueCollection)"><summary>
              Adds the second dictionary to the first. If a key occurs in both dictionaries, the value of the second
              dictionaries is taken.
            </summary><param name="first"> Must not be <see langword="null" />. </param><param name="second"> Must not be <see langword="null" />. </param></member><member name="M:Remotion.Utilities.NameValueCollectionUtility.Merge(System.Collections.Specialized.NameValueCollection,System.Collections.Specialized.NameValueCollection)"><summary>
              Merges two collections. If a key occurs in both collections, the value of the second collections is taken.
            </summary></member><member name="M:Remotion.Utilities.NullableTypeUtility.IsNullableType(System.Type)"><summary>
            Determines whether a type is nullable, ie. whether variables of it can be assigned <see langword="null" />.
            </summary><param name="type">The type to check.</param></member><member name="M:Remotion.Utilities.ReflectionUtility.GetOriginalDeclaringType(System.Reflection.PropertyInfo)"><summary>
            Returns the <see cref="T:System.Type" /> where the property was initially decelared.
            </summary><param name="propertyInfo">The property whose identifier should be returned. Must not be <see langword="null" />.</param></member><member name="M:Remotion.Utilities.ReflectionUtility.GetOriginalDeclaringType(System.Reflection.MethodInfo)"><summary>
            Returns the <see cref="T:System.Type" /> where the method was initially declared.
            </summary><param name="methodInfo">The method whose type should be returned. Must not be <see langword="null" />.</param></member><member name="M:Remotion.Utilities.ReflectionUtility.IsOriginalDeclaration(System.Reflection.PropertyInfo)"><summary>
            Determines whether the given <see cref="T:System.Reflection.PropertyInfo" /> is the original base declaration.
            </summary><param name="propertyInfo">The property info to check.</param></member><member name="M:Remotion.Utilities.ReflectionUtility.GuessIsExplicitInterfaceProperty(System.Reflection.PropertyInfo)"><summary>
            Guesses whether the given property is an explicit interface implementation by checking whether it has got private virtual final accessors.
            This can be used as a heuristic to find explicit interface properties without having to check InterfaceMaps for every interface on
            info.DeclaringType. With C# and VB.NET, the heuristic should always be right.
            </summary><param name="info">The property to check.</param></member><member name="M:Remotion.Utilities.ReflectionUtility.CanAscribe(System.Type,System.Type)"><summary>
            Evaluates whether the <paramref name="type" /> can be ascribed to the <paramref name="ascribeeType" />.
            </summary><param name="type">The <see cref="T:System.Type" /> to check. Must not be <see langword="null" />.</param><param name="ascribeeType">The <see cref="T:System.Type" /> to check the <paramref name="type" /> against. Must not be <see langword="null" />.</param></member><member name="M:Remotion.Utilities.ReflectionUtility.GetAscribedGenericArguments(System.Type,System.Type)"><summary>
            Returns the type arguments for the ascribed <paramref name="ascribeeType" /> as inherited or implemented by a given <paramref name="type" />.
            </summary><param name="type">The <see cref="T:System.Type" /> for which to return the type parameter. Must not be <see langword="null" />.</param><param name="ascribeeType">The <see cref="T:System.Type" /> to check the <paramref name="type" /> against. Must not be <see langword="null" />.</param></member><member name="T:Remotion.Utilities.StopwatchScope"><summary>
            Provides a simple way of timing a piece of code wrapped into a <c>using</c> block. At the end of the block or at a checkpoint, an action is 
            performed or a log message written.
            </summary></member><member name="M:Remotion.Utilities.StopwatchScope.CreateScope(Remotion.Utilities.StopwatchScope.MeasurementAction)"><summary>
            Creates a <see cref="T:Remotion.Utilities.StopwatchScope" /> that measures the time, executing the given
            <paramref name="action" /> when the scope is disposed or when a <see cref="M:Remotion.Utilities.StopwatchScope.Checkpoint(System.String)" /> is reached.
            </summary><param name="action">The <see cref="T:Remotion.Utilities.StopwatchScope.MeasurementAction" /> to receive the result. Takes the following arguments: 
            <c>string context, StopwatchScope scope</c>. Use <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedTotal" /> and
            <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedSinceLastCheckpoint" /> to retrieve the elapsed time. When the scope is disposed, the context parameter
            is set to the string "end".
            </param></member><member name="M:Remotion.Utilities.StopwatchScope.CreateScope(System.IO.TextWriter,System.String)"><summary>
            Creates a <see cref="T:Remotion.Utilities.StopwatchScope" /> that measures the time, writing the result to the given 
            <paramref name="writer" /> when the scope is disposed or a <see cref="M:Remotion.Utilities.StopwatchScope.Checkpoint(System.String)" /> is reached.
            </summary><param name="writer">The writer to receive the result.</param><param name="formatString">A string to format the result with. The string can contain the following placeholders:
            <list type="bullet">
            <item>
              <c>{context}</c> Replaced with the context string passed to <see cref="M:Remotion.Utilities.StopwatchScope.Checkpoint(System.String)" />. At the end of the scope, this is the string "end".
            </item>
            <item>
              <c>{elapsed}</c> Replaced with the standard string representation of <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedTotal" />.
            </item>
            <item>
              <c>{elapsed:ms}</c> Replaced with <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedTotal" />, using <see cref="P:System.TimeSpan.TotalMilliseconds" /> to obtain the 
              number of milliseconds elapsed since the last checkpoint.
            </item>
            <item>
              <c>{elapsedCP}</c> Replaced with the standard string representation of <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedSinceLastCheckpoint" />.
            </item>
            <item>
              <c>{elapsedCP:ms}</c> Replaced with <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedSinceLastCheckpoint" />, using <see cref="P:System.TimeSpan.TotalMilliseconds" /> to obtain the 
              number of milliseconds elapsed since the last checkpoint.
            </item>
            </list>
            </param></member><member name="M:Remotion.Utilities.StopwatchScope.CreateScope(Remotion.Logging.ILog,Remotion.Logging.LogLevel,System.String)"><summary>
            Creates a <see cref="T:Remotion.Utilities.StopwatchScope" /> that measures the time, writing the result to the given
            <paramref name="log" /> when the scope is disposed or a <see cref="M:Remotion.Utilities.StopwatchScope.Checkpoint(System.String)" /> is reached.
            </summary><param name="log">The <see cref="T:Remotion.Logging.ILog" /> to receive the result.</param><param name="logLevel">The log level to log the result with.</param><param name="formatString">A string to format the result with. The string can contain the following placeholders:
            <list type="bullet">
            <item>
              <c>{context}</c> Replaced with the context string passed to <see cref="M:Remotion.Utilities.StopwatchScope.Checkpoint(System.String)" />. At the end of the scope, this contains the string "end".
            </item>
            <item>
              <c>{elapsed}</c> Replaced with the standard string representation of <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedTotal" />.
            </item>
            <item>
              <c>{elapsed:ms}</c> Replaced with <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedTotal" />, using <see cref="P:System.TimeSpan.TotalMilliseconds" /> to obtain the 
              number of milliseconds elapsed since the last checkpoint.
            </item>
            <item>
              <c>{elapsedCP}</c> Replaced with the standard string representation of <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedSinceLastCheckpoint" />.
            </item>
            <item>
              <c>{elapsedCP:ms}</c> Replaced with <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedSinceLastCheckpoint" />, using <see cref="P:System.TimeSpan.TotalMilliseconds" /> to obtain the 
              number of milliseconds elapsed since the last checkpoint.
            </item>
            </list>
            </param></member><member name="M:Remotion.Utilities.StopwatchScope.CreateScope(System.String)"><summary>
            Creates a <see cref="T:Remotion.Utilities.StopwatchScope" /> that measures the time, writing the result to the <see cref="T:System.Console" /> when the scope is disposed or 
            a <see cref="M:Remotion.Utilities.StopwatchScope.Checkpoint(System.String)" /> is reached.
            </summary><param name="formatString">A string to format the result with. The string can contain the following placeholders:
            <list type="bullet">
            <item>
              <c>{context}</c> Replaced with the context string passed to <see cref="M:Remotion.Utilities.StopwatchScope.Checkpoint(System.String)" />. At the end of the scope, this contains the string "end".
            </item>
            <item>
              <c>{elapsed}</c> Replaced with the standard string representation of <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedTotal" />.
            </item>
            <item>
              <c>{elapsed:ms}</c> Replaced with <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedTotal" />, using <see cref="P:System.TimeSpan.TotalMilliseconds" /> to obtain the 
              number of milliseconds elapsed since the last checkpoint.
            </item>
            <item>
              <c>{elapsedCP}</c> Replaced with the standard string representation of <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedSinceLastCheckpoint" />.
            </item>
            <item>
              <c>{elapsedCP:ms}</c> Replaced with <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedSinceLastCheckpoint" />, using <see cref="P:System.TimeSpan.TotalMilliseconds" /> to obtain the 
              number of milliseconds elapsed since the last checkpoint.
            </item>
            </list>
            </param></member><member name="M:Remotion.Utilities.StopwatchScope.Dispose"><summary>
            Stops measuring the time and invokes the time measurement action defined when creating the scope.
            </summary></member><member name="M:Remotion.Utilities.StopwatchScope.Checkpoint(System.String)"><summary>
            Triggers a checkpoint, invoking the action the time measurement action defined when creating the scope with the given <paramref name="context" />.
            </summary><param name="context">The context information to pass to the action.</param></member><member name="M:Remotion.Utilities.StopwatchScope.Pause"><summary>
            Pauses the time measurement. Resume it with <see cref="M:Remotion.Utilities.StopwatchScope.Resume" />. If the measurement is already paused, this method does nothing.
            </summary></member><member name="M:Remotion.Utilities.StopwatchScope.Resume"><summary>
            Resumes the time measurement after it has been paused with <see cref="M:Remotion.Utilities.StopwatchScope.Pause" />. If the measurement is not paused, this method does nothing.
            </summary></member><member name="P:Remotion.Utilities.StopwatchScope.ElapsedTotal"><summary>
            Gets the time elapsed since the construction of this <see cref="T:Remotion.Utilities.StopwatchScope" /> until now or the point of time where <see cref="M:Remotion.Utilities.StopwatchScope.Dispose" /> 
            was called, whichever occurs first.
            </summary></member><member name="P:Remotion.Utilities.StopwatchScope.ElapsedSinceLastCheckpoint"><summary>
            Gets the time elapsed since the last call to <see cref="M:Remotion.Utilities.StopwatchScope.Checkpoint(System.String)" /> (or the construction of this <see cref="T:Remotion.Utilities.StopwatchScope" /> if no 
            checkpoint has been created) until now. If the scope has been disposed, this is <see cref="F:System.TimeSpan.Zero" />.
            </summary></member><member name="T:Remotion.Utilities.StopwatchScope.MeasurementAction"><summary>
            Defines an action to be called whenever a checkpoint is reached or the <see cref="T:Remotion.Utilities.StopwatchScope" /> is disposed.
            </summary><param name="context">The context in which the action is invoked. This corresponds to the parameter given to 
            <see cref="M:Remotion.Utilities.StopwatchScope.Checkpoint(System.String)" />.</param><param name="scope">The <see cref="T:Remotion.Utilities.StopwatchScope" /> triggering the action. Use <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedTotal" /> and
            <see cref="P:Remotion.Utilities.StopwatchScope.ElapsedSinceLastCheckpoint" /> to retrieve the elapsed time.</param></member><member name="T:Remotion.Utilities.StringUtility"><summary>
            Provides utility functions that make common string handling easier.
            </summary></member><member name="M:Remotion.Utilities.StringUtility.ParseSeparatedList(System.String,System.Char)"><summary>
              Parses a delimiter-separated string into individual elements.
            </summary><param name="value"> The string to be parsed. Must not be <see langword="null" />. </param><param name="delimiter"> The character used for list separation. Default is comma (,). </param></member><member name="M:Remotion.Utilities.StringUtility.ParseSeparatedList(System.String)"><summary>
              Parses a delimiter-separated string into individual elements.
            </summary><param name="value"> The string to be parsed. Must not be <see langword="null" />. </param></member><member name="M:Remotion.Utilities.StringUtility.ParseSeparatedList(System.String,System.Char,System.Char,System.Char,System.Char,System.String,System.Boolean)"><summary>
              Parses a delimiter-separated string into individual elements.
            </summary><param name="value"> The string to be parsed. Must not be <see langword="null" />. </param><param name="delimiter"> The character used for list separation. Default is comma (,). </param><param name="openingQuote"> The character used as opening quote. Default is double quote ("). </param><param name="closingQuote"> The character used as closing quote. Default is double quote ("). </param><param name="escapingChar"> The character used to escape quotes and itself. Default is backslash (\). </param><param name="whitespaceCharacters"> A string containing all characters to be considered whitespace. 
              Default is space character only. </param><param name="interpretSpecialCharacters"> If true, the escaping character can be followed by the letters
              r, n or t (case sensitive) for line feeds, new lines or tab characters, respectively. Default is true. </param></member><member name="M:Remotion.Utilities.StringUtility.AreEqual(System.String,System.String)"><summary>
            Compares two strings using the invariant culture.
            </summary></member><member name="M:Remotion.Utilities.StringUtility.AreEqual(System.String,System.String,System.Boolean)"><summary>
            Compares two strings using the invariant culture.
            </summary></member><member name="M:Remotion.Utilities.StringUtility.Parse(System.Type,System.String,System.IFormatProvider)"><summary>
              Parses the specified type from a string.
            </summary><param name="type"> The type that should be created from the string. This type must have 
              a public <see langword="static" /> <b>Parse</b> method with either no arguments or a single 
              <see cref="T:System.IFormatProvider" />argument. 
              If <paramref name="type" /> is an array type, the values must be comma-separated. (Escaping is 
              handled as for <see cref="M:Remotion.Utilities.StringUtility.ParseSeparatedList(System.String,System.Char)" />.) </param><param name="value"> The string value to be parsed. </param><param name="formatProvider"> The format provider to be passed to the type's <b>Parse</b> method (if present). </param></member><member name="T:Remotion.Utilities.StringUtility.ParsedItem"><summary>
              The result of <see cref="M:Remotion.Utilities.StringUtility.ParseSeparatedList(System.String,System.Char)" />.
            </summary></member><member name="F:Remotion.Utilities.StringUtility.ParsedItem.Value"><summary> The string value at this position. </summary></member><member name="F:Remotion.Utilities.StringUtility.ParsedItem.IsQuoted"><summary> An indicator that is <see langword="true" /> if the string at this position was quoted in the input string. </summary></member><member name="T:Remotion.Utilities.TypeConversionProvider"><summary> 
              Provides functionality to get the <see cref="T:System.ComponentModel.TypeConverter" /> for a <see cref="T:System.Type" /> and to convert a value
              from a source <see cref="T:System.Type" /> into a destination <see cref="T:System.Type" />.
            </summary></member><member name="M:Remotion.Utilities.TypeConversionProvider.Create"><summary> Creates a new instace of the <see cref="T:Remotion.Utilities.TypeConversionProvider" /> type. </summary></member><member name="M:Remotion.Utilities.TypeConversionProvider.SetCurrent(Remotion.Utilities.TypeConversionProvider)"><summary> Sets the current <see cref="T:Remotion.Utilities.TypeConversionProvider" />. </summary><param name="provider"> A <see cref="T:Remotion.Utilities.TypeConversionProvider" />. Must not be <see langword="null" />. </param></member><member name="M:Remotion.Utilities.TypeConversionProvider.GetTypeConverter(System.Type,System.Type)"><summary> 
              Gets the <see cref="T:System.ComponentModel.TypeConverter" /> that is able to convert an instance of the <paramref name="sourceType" /> 
              <see cref="T:System.Type" /> into an instance of the <paramref name="destinationType" /> <see cref="T:System.Type" />.
            </summary><param name="sourceType"> 
              The source <see cref="T:System.Type" /> of the value. Must not be <see langword="null" />. 
            </param><param name="destinationType"> 
              The destination <see cref="T:System.Type" /> of the value. Must not be <see langword="null" />. 
            </param></member><member name="M:Remotion.Utilities.TypeConversionProvider.GetTypeConverter(System.Type)"><summary> 
              Gets the <see cref="T:System.ComponentModel.TypeConverter" /> that is associated with the specified <paramref name="type" />.
            </summary><param name="type"> 
              The <see cref="T:System.Type" /> to get the <see cref="T:System.ComponentModel.TypeConverter" /> for. Must not be <see langword="null" />.
            </param></member><member name="M:Remotion.Utilities.TypeConversionProvider.AddTypeConverter(System.Type,System.ComponentModel.TypeConverter)"><summary> 
              Registers the <paramref name="converter" /> for the <paramref name="type" />, overriding the default settings. 
            </summary><param name="type"> 
              The <see cref="T:System.Type" /> for which the <paramref name="converter" /> should be used. 
              Must not be <see langword="null" />.
            </param><param name="converter"> The <see cref="T:System.ComponentModel.TypeConverter" /> to register. Must not be <see langword="null" />. </param></member><member name="M:Remotion.Utilities.TypeConversionProvider.RemoveTypeConverter(System.Type)"><summary>
              Unregisters a special <see cref="T:System.ComponentModel.TypeConverter" /> previously registered by using <see cref="M:Remotion.Utilities.TypeConversionProvider.AddTypeConverter(System.Type,System.ComponentModel.TypeConverter)" />.
            </summary><param name="type">
              The <see cref="T:System.Type" /> whose special <see cref="T:System.ComponentModel.TypeConverter" /> should be removed. 
              Must not be <see langword="null" />.
            </param></member><member name="M:Remotion.Utilities.TypeConversionProvider.CanConvert(System.Type,System.Type)"><summary> 
              Test whether the <see cref="T:Remotion.Utilities.TypeConversionProvider" /> object can convert an object of <see cref="T:System.Type" /> 
              <paramref name="sourceType" /> into an object of <see cref="T:System.Type" /> <paramref name="destinationType" />
              by using the <see cref="M:Remotion.Utilities.TypeConversionProvider.Convert(System.Type,System.Type,System.Object)" /> method.
            </summary><param name="sourceType"> 
              The source <see cref="T:System.Type" /> of the value. Must not be <see langword="null" />. 
            </param><param name="destinationType"> 
              The destination <see cref="T:System.Type" /> of the value. Must not be <see langword="null" />. 
            </param></member><member name="M:Remotion.Utilities.TypeConversionProvider.Convert(System.Type,System.Type,System.Object)"><summary> Convertes the <paramref name="value" /> into the <paramref name="destinationType" />. </summary><param name="sourceType"> 
              The source <see cref="T:System.Type" /> of the <paramref name="value" />. Must not be <see langword="null" />. 
            </param><param name="destinationType"> 
              The destination <see cref="T:System.Type" /> of the <paramref name="value" />. Must not be <see langword="null" />. 
            </param><param name="value"> The value to be converted. Must not be <see langword="null" />. </param></member><member name="M:Remotion.Utilities.TypeConversionProvider.Convert(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Type,System.Type,System.Object)"><summary> Convertes the <paramref name="value" /> into the <paramref name="destinationType" />. </summary><param name="context"> An <see cref="T:System.ComponentModel.ITypeDescriptorContext" /> that provides a format context. </param><param name="culture"> The <see cref="T:System.Globalization.CultureInfo" /> to use as the current culture. </param><param name="sourceType"> 
              The source <see cref="T:System.Type" /> of the <paramref name="value" />. Must not be <see langword="null" />. 
            </param><param name="destinationType"> 
              The destination <see cref="T:System.Type" /> of the <paramref name="value" />. Must not be <see langword="null" />. 
            </param><param name="value"> The <see cref="T:System.Object" /> to be converted.</param></member><member name="P:Remotion.Utilities.TypeConversionProvider.Current"><summary> Gets the current <see cref="T:Remotion.Utilities.TypeConversionProvider" />. </summary></member><member name="T:Remotion.Utilities.TypeConverterResult"><summary>
            The <see cref="T:Remotion.Utilities.TypeConverterResult" /> structure encapsulates the reult of the <see cref="M:Remotion.Utilities.TypeConversionProvider.GetTypeConverter(System.Type,System.Type)" />
            method.
            </summary></member><member name="T:Remotion.Utilities.TypeConverterType"><summary>
            The <see cref="T:Remotion.Utilities.TypeConverterType" /> enum describes whether a <see cref="T:System.ComponentModel.TypeConverter" /> is to be used fro mthe source or the destination type.
            </summary></member><member name="T:Remotion.Utilities.TypeUtility"><summary>
            Utility methods for handling types.
            </summary></member><member name="M:Remotion.Utilities.TypeUtility.ParseAbbreviatedTypeName(System.String)"><summary>
              Converts abbreviated qualified type names into standard qualified type names.
            </summary><param name="abbreviatedTypeName"> A standard or abbreviated type name. </param></member><member name="M:Remotion.Utilities.TypeUtility.GetType(System.String)"><summary>
              Loads a type, optionally using an abbreviated type name as defined in <see cref="M:Remotion.Utilities.TypeUtility.ParseAbbreviatedTypeName(System.String)" />.
            </summary></member><member name="M:Remotion.Utilities.TypeUtility.GetType(System.String,System.Boolean)"><summary>
              Loads a type, optionally using an abbreviated type name as defined in <see cref="M:Remotion.Utilities.TypeUtility.ParseAbbreviatedTypeName(System.String)" />.
            </summary></member><member name="M:Remotion.Utilities.TypeUtility.GetType(System.String,System.Boolean,System.Boolean)"><summary>
              Loads a type, optionally using an abbreviated type name as defined in <see cref="M:Remotion.Utilities.TypeUtility.ParseAbbreviatedTypeName(System.String)" />.
            </summary></member><member name="M:Remotion.Utilities.TypeUtility.GetAbbreviatedTypeName(System.Type,System.Boolean)"><summary>
            Gets the type name in abbreviated syntax (<see cref="M:Remotion.Utilities.TypeUtility.ParseAbbreviatedTypeName(System.String)" />).
            </summary></member><member name="T:Remotion.Utilities.TypeUtility.AbbreviationParser"><summary>
            The implementation of <see cref="M:Remotion.Utilities.TypeUtility.ParseAbbreviatedTypeName(System.String)" />, implemented in a nested class in order to prevent unnecessary
            initialization of pre-compiled regular expressions.
            </summary></member><member name="T:Remotion.Utilities.WorkContext"><summary>
              Provides context information for error messages.
            </summary></member><member name="F:Remotion.Utilities.WorkContext.s_stack"><summary> Stack&lt;WorkContext&gt; </summary></member><member name="M:Remotion.Utilities.WorkContext.EnterNew(System.String)"><summary>
            Creates a new context and puts it on the stack.
            </summary><param name="text">The description of the context.</param></member><member name="M:Remotion.Utilities.WorkContext.EnterNew(System.String,System.Object[])"><summary>
            Creates a new context and puts it on the stack.
            </summary><param name="format">A string containing zero or more format items for the description of the context.</param><param name="args">An array containing zero or more objects to format.</param></member><member name="M:Remotion.Utilities.WorkContext.Enter(System.String)"><summary>
            Enters a context.
            </summary><param name="text">The description of the context.</param></member><member name="M:Remotion.Utilities.WorkContext.Enter(System.String,System.Object[])"><summary>
            Enters a context.
            </summary><param name="format">A string containing zero or more format items for the description of the context.</param><param name="args">An array containing zero or more objects to format.</param></member><member name="M:Remotion.Utilities.WorkContext.EnterIfDebug(System.String)"><summary>
            Enters a context. Calls to this method are only compiled if the symbol DEBUG is defined.
            <see cref="T:System.Diagnostics.ConditionalAttribute" />
            </summary><param name="text">The description of the context.</param></member><member name="M:Remotion.Utilities.WorkContext.EnterIfDebug(System.String,System.Object[])"><summary>
            Enters a context. Calls to this method are only compiled if the symbol DEBUG is defined.
            <see cref="T:System.Diagnostics.ConditionalAttribute" />
            </summary><param name="format">A string containing zero or more format items for the description of the context.</param><param name="args">An array containing zero or more objects to format.</param></member><member name="M:Remotion.Utilities.WorkContext.EnterIfTrace(System.String)"><summary>
            Enters a context. Calls to this method are only compiled if the symbol TRACE is defined.
            <see cref="T:System.Diagnostics.ConditionalAttribute" />
            </summary><param name="text">The description of the context.</param></member><member name="M:Remotion.Utilities.WorkContext.EnterIfTrace(System.String,System.Object[])"><summary>
            Enters a context. Calls to this method are only compiled if the symbol TRACE is defined.
            <see cref="T:System.Diagnostics.ConditionalAttribute" />
            </summary><param name="format">A string containing zero or more format items for the description of the context.</param><param name="args">An array containing zero or more objects to format.</param></member><member name="M:Remotion.Utilities.WorkContext.EnterIfWorkContext(System.String)"><summary>
            Enters a context. Calls to this method are only compiled if the symbol WORKCONTEXT is defined.
            <see cref="T:System.Diagnostics.ConditionalAttribute" />
            </summary><param name="text">The description of the context.</param></member><member name="M:Remotion.Utilities.WorkContext.EnterIfWorkContext(System.String,System.Object[])"><summary>
            Enters a context. Calls to this method are only compiled if the symbol WORKCONTEXT is defined.
            <see cref="T:System.Diagnostics.ConditionalAttribute" />
            </summary><param name="format">A string containing zero or more format items for the description of the context.</param><param name="args">An array containing zero or more objects to format.</param></member><member name="M:Remotion.Utilities.WorkContext.System#IDisposable#Dispose"><summary>
            Leaves the context.
            <seealso cref="M:Remotion.Utilities.WorkContext.Leave" />.
            </summary></member><member name="M:Remotion.Utilities.WorkContext.Leave"><summary>
              Leaves the context.
            </summary></member><member name="M:Remotion.Utilities.WorkContext.Done"><summary>
              Marks the context as done.
            </summary></member><member name="P:Remotion.Utilities.WorkContext.EnableTracing"><summary>
            Use this flag to specify (or learn) whether trace output should be generated when contexts are entered, left or done.
            </summary></member><member name="P:Remotion.Utilities.WorkContext.Stack"><summary>
              Gets the work context stack of the current thread.
            </summary></member><member name="P:Remotion.Utilities.WorkContext.Text"><summary>
            The description of the context.
            </summary></member><member name="F:Remotion.Utilities.WorkContext.ContextStack._stack"><summary> ArrayList &lt;WorkContext&gt; </summary></member><member name="M:Remotion.Utilities.WorkContext.ContextStack.ToArray"><summary>
              Returns the context stack as an array of WorkContext objects.
            </summary></member><member name="M:Remotion.Utilities.WorkContext.ContextStack.ToString"><summary>
              Returns a string representation of the context stack.
            </summary></member><member name="P:Remotion.Utilities.WorkContext.ContextStack.LastLeft"><summary>
              The last WorkContext on the stack that was left by calling <see cref="M:Remotion.Utilities.WorkContext.ContextStack.Leave(Remotion.Utilities.WorkContext)" />.
            </summary></member><member name="M:Remotion.Xml.SchemaLoaderBase.LoadSchemaSet"><summary> Gets an <see cref="T:System.Xml.Schema.XmlSchemaSet" /> for the schema specified with property <see cref="P:Remotion.Xml.SchemaLoaderBase.SchemaFile" /> that is embedded in the assembly. </summary></member><member name="M:Remotion.Xml.SchemaLoaderBase.LoadSchema(System.String)"><summary> Gets an <see cref="T:System.Xml.Schema.XmlSchema" /> for a schema embedded in the assembly. </summary></member><member name="T:Remotion.Xml.XmlSerializationUtility"><summary>
            Use this class to easily serialize and deserialize objects to or from XML.
            </summary></member><member name="M:Remotion.Xml.XmlSerializationUtility.GetNamespace(System.Type)"><summary>
            Get the Namespace from a type's <see cref="T:System.Xml.Serialization.XmlRootAttribute" /> (preferred) or <see cref="T:System.Xml.Serialization.XmlTypeAttribute" />.
            </summary></member></members></doc>